I am reading through mapbox JS api but don't seem to find any the geocoding API call that would enable me to provide place lookup using my own typeahead component. So basically I am after sending out a query and receiving an array of results.
I do not mean the example on how to place geocoder Control on or off the map, but rather how can I provide places lookup in my own form [Angular, React, whatever] that does not display any map. Is that possible at all?
[UPDATE May 2020]
Mapbox now does allow you to use a Geocoder without using a map (search form with autocomplete)
July 1, 2019: Removed the default restriction that Services have to be
used in conjunction with a Mapbox map. Point of interest results from
the Geocoding API and Enterprise Boundaries must still be used in
conjunction with a Mapbox map.
Examples can be found from the Mapbox website and from Mapbox Github page.
This previous answer shows an alternative plugin/ service called Algolia that you can use to create a Geocoder.
Another alternative is to use Geocodio.
However, both Geocodio AND Mapbox Geocoder (without a map present) do not support POI (Point of Interest)
E.g. A named place including commercial businesses, public buildings, monuments, and parks, etc.
Hope this helps someone in the future!
This is apparently the violation of Mapbox's terms of service:
You may only use responses from the Geocoding API ("Geocodes") in
conjunction with a Mapbox map.
That's the reason why mapbox-gl-js MapboxGeocoder control (which consumes Mapbox Geocoding API) comes in conjunction with a Mapbox map only and means your scenario is not supported.
July 1, 2019: Removed the default restriction that Services have to be used in conjunction with a Mapbox map. Point of interest results from the Geocoding API and Enterprise Boundaries must still be used in conjunction with a Mapbox map.
Related
I am trying to use the MapBox Geocoding API and for it I tried to translate "Centre Hospitalier Régional d'Orléans" (that is an Hospital in France, Orléans) into Lng/Lat coordinates.
When I display a MapBox Map, I can see the POI:
And when I click it in MapBox Studio, it is well recognized as a Point Of Interest (POI) (poi-label):
But when I try to find it using the Geocoding API, I don't find it.
Here is the request I run:
https://api.mapbox.com/geocoding/v5/mapbox.places/Centre%20Hospitalier.json?access_token=pk.eyJ1IjoibWF0dGZpY2tlIiwiYSI6ImNqNnM2YmFoNzAwcTMzM214NTB1NHdwbnoifQ.Or19S7KmYPHW8YjRz82v6g&cachebuster=1547469044480&autocomplete=true&country=fr&proximity=1.909251%2C47.902964
Is it normal ? Am I doing something wrong or is it a bug ?
The data behind the maps and the geocoder aren't necessarily the same, so it's likely this Hospital is showing up on the map from OpenStreetMap, but isn't in the data being used for the geocoder.
Some information about data sources is at https://www.mapbox.com/about/maps/
You can report feedback about this at https://apps.mapbox.com/feedback/ mentioning its a geocoding issue.
I'm using Mapbox's Geocoding (search box) and was wondering if there's a way that it would only reference my Tileset data rather than the generic global address search? Looks like Mapbox has a "Supplement geocoding search results from another data source", however the example is referencing geographic coordinates rather than addressing. So I'm still not sure if this is possible?
Basically I want to enter an address in the Geocoding search box and to have a particular polygon selected from my dataset on the map. Any help would be greatly appreciated.
The example you linked to shows how to supplement search results with a local source, not a remote source in the https://github.com/mapbox/mapbox-gl-geocoder.
Currently Mapbox doesn't provide a Geocoding API against your own data however depending on how large your dataset is (and assuming it's a Mapbox Dataset and not just a Mapbox Tileset) you could use the Datasets API to read in every feature into the client with https://github.com/mapbox/mapbox-sdk-js/blob/master/API.md#listfeatures and use the results of that to power the mapbox-gl-geocoder search like https://www.mapbox.com/mapbox-gl-js/example/mapbox-gl-geocoder-local-geocoder/
I am not familiar the bing Map
I need to display the us map for a given zip code,in a page
How can i do this
Can anyone help me please
Have a look at their API reference...
AJAX Control Version 7
AJAX Control Version 6.3
You will need to geocode the zip code first; if you only need to do this once to display a static map, then you can use this site, although there are lots of other free sites online that do the same thing. Once you have your lat/lon it's pretty straightforward to use them to center your map object.
// assume that lat, lon, and map are js variables you have already declared and set
var oLatLon = new VELatLong(lat, lon);
map.PanToLatLong(oLatLon);
If the map needs to be dynamic and you'll have to geocode addresses on the fly, then I'm not sure what the best approach is. I think there are databases that contain all zipcodes & their corresponding lat/lon coordinates available for download. It might also be worth checking out the Bing MapPoints SDK.
It's easy using REST services which ship with Bing Api. Here you can find a blog post with thorough description.
can i use bing map platform with an external mapping source ?
for example, i want to use bing map siverlight client with my own map files instead of the provided maps. (some areas coverage is insufficiant with bings provided mapping)
Thanks.
Another useful tool you may want to utilize if you don't have ArcGIS Server is MapCruncher, which will take a raster image, allow you to georeference it and produce Virtual Earth compatible tiles.
If you need to display vector data, you can either convert it to a format like KML or use a product called SharpMap to render tiled images.
I am assuming that since this was tagged ESRI, that you want a method to use ESRI products for your data sources... There are a lot of ways you can create your own tiles and use them in Bing Maps. If you have ESRI ArcGIS Server, you can use the ESRI JS API to add your own services to Bing Maps.
you can rewrite TileSource class and override GetUri method
I am writing an app that will use Reverse Geocoding to translate the user's current location into something like a Street Address or City. It seems the only way to get this kind of information is via MapKit (specifically the Placemark class).
Can I use this without having to display a map to the user?
The reason I am asking this is because in the Google HTTP Reverse Geocoding documentation it states:
Note: the geocoding service may only be used in conjunction with displaying results on a Google map; geocoding results without displaying them on a map is prohibited. For complete details on allowed usage, consult the Maps API Terms of Service License Restrictions.
I'm wondering if this holds true for the MapKit API as well or if Google and Apple worked something out.
I answer my own question way too much around here -
10.12 use or display the Content without a corresponding Google map, unless you are explicitly permitted to do so in the Maps API Documentation, the Street View API Documentation, or through written permission from Google (for example, you must not use geocodes obtained through the Service except in conjunction with a Google map, but the Street View API Documentation explicitly permits you to display Street View imagery without a corresponding Google map); or
via Google Maps iPhone TOS
The Map Kit framework provides an embeddable map interface for your application. Use it to display map or satellite imagery from the windows and views of your custom applications. You can also use the framework to annotate your maps with points of interest and other custom information.
What was stated above about using Googles HTTP API for reverse geocoding would be a better way to display the information you are looking for and using a text box to read the information.