Mapbox GL JS Geocoding to only reference Tileset - mapbox

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/

Related

Is mapbox geocoder API available for usage without a map?

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.

POI not found with geocoding API

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.

SSRS - Feed an address into a Bing Map to zoom to?

I have a datasource that has address data. An external application calls for a report and feeds in some tabular data, including an address field.
To simplify things, lets assume that I simply pass one record that contains some address information.
I would like to produce a report that has the Bing map at the top, but via the supplied address field, I would like the map to geocode the supplied address field, zoom to a viewport around that geocoded result, and also drop a pin marker on top of the result.
Is this achievable with SSRS and Bing Maps/Geocoding API?
My actual workflow will be passing in more than one record, and showing a map on a separate page for each record, along with some graphs and tables showing other information about the specific record.
Sure you can do it! (BTW this is not related specific to Bing maps, Bing maps is only a layer with additional info that lays on top of ESRI shapefile Map)
But in order to do that, their are some preparations that you need to do:
First, you need to store the Address data as Geospatial in your DB.
You can find excellent information Here
Second, you need to add the ESRI map and Bing layers to your report, and to define the Dataset with the Geospatial as Points over the Map.
For more information and example Here
.
On a personal note I have to add, you can do amazing stuff with the Map theme. I used it to calculate and present distance between locations, and even added arrows to navigate L/R/U/D in the map.
Good luck !

Extract map information from Bing Maps

I would like to write a navigation software for windows phone 7 that is available without being on the internet. Therefore, I would like to download the map information from Bing maps. Not the entire world or country, just a small city - because this software is just for me and I only need navigation within my home town.
What I basically need is something similar to the map export that OpenStreetMap offers. I could not find anything equivalent on bing maps, so I wrote a program that queries bing maps (through the API) for routes. It then saves intersections and thus builds a graph. This technically works and I get a lot of streets, but sometimes bing leaves out a single intersection. In that case, my data will become invalid.
So I was wondering if there is any way of asking the API directly for a map export, returning something like an array of streets that is within a certain boundary rectangle. (Or something similar)
Thanks for your help
No, there is no standard API call in Bing Maps API that will let you do this.
Downloading all the street data within "a small city" would violate the terms of service. See 8.2(r) at http://www.microsoft.com/maps/product/terms.html.
If you want that data, you can try OpenStreetMap or else you would probably have to license the data from a commercial provider of such things which is no doubt very expensive.

using external maps with bing map

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