2015-05-12 115 views
2

我看到MapBox提供了一個地理編碼服務。無論如何,美國城市似乎有優先權。如果我正在尋找一個城市,那麼當我開始寫作時,首先顯示的城市是美國人。 有沒有辦法將搜索限制在一個特定的國家/州?限制MapBox地理編碼

回答

1

目前還沒有,但Mapbox的地理編碼器正在積極開發之中,這可能是他們正在開發的功能。

3

A proximity參數最近已添加到Mapbox地理編碼API中,該參數允許您將結果偏向給定的經度和緯度位置。使用這樣的:

http://api.tiles.mapbox.com/v4/geocode/{index}/{query}.json?proximity={longitude},{latitude}&access_token={access_token} 

例如,爲了獲得倫敦,加拿大而不是倫敦,英國的頂尖結果:

http://api.tiles.mapbox.com/v4/geocode/mapbox.places/London.json?proximity=-81,42&access_token={access_token} 

見API文檔的Forward geocoding with proximity節以獲得更多信息。

無法將查詢限制在特定國家/地區,但您可以過濾結果以確保您只通過查看"text""context"部分響應來顯示某個國家/地區的位置。

關於您對默認結果的擔憂 - 美國城市在Mapbox地理編碼API中沒有優先權。但是,由於目前有更詳細的數據,您可能會看到來自某些國家/地區的更多結果。 Geocoding API文檔的「Coverage」部分提供了有關哪些國家和結果類型具有更多詳細信息的信息。 (數據和該列表會定期更新。)

0

您可以將地理編碼請求限制到一個國家,如Geocoding request format中所定義。

國家(可選)

搜索結果限制爲一個或多個國家。選項是用逗號分隔的ISO 3166 alpha 2國家代碼。

所以說你想結果限制在西班牙,你只需將查詢參數爲?country=ES