[英]Google Maps Reverse Geocoding only returning “APPROXIMATE” location
我正在使用反向地理編碼API(客戶端)將經緯度較長的坐標轉換為街道地址。 這些經緯度直接從地圖上的可拖動標記中獲取,因此它們具有許多小數位信息。
例如,如果將其放在舊金山,則拖動標記並將{lat,lng}對發送到API。 我得到的東西很籠統,如"San Francisco, CA"
或充其量是"South of Market, San Francisco, CA, USA"
。
我知道Google在該地區擁有街道信息,因為我可以完美地使用正向地理編碼API。
我可能會缺少任何參數導致此嗎? 這是我的代碼:
maps.reverseGeocode = function(pos, callback) {
maps.geocoder.geocode({
latLng: pos,
bounds: maps.map.getBounds()
}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
console.log("Reverse Geocode:", results);
callback(results[0]);
} else {
console.log('Could not geocode: ' + status);
callback(undefined);
}
});
};
pos是直接從地圖標記對象獲取的。
很快就弄清楚了。 這是因為我在請求中包含了bounds
參數。 消除bounds
給了我高度准確的結果。 我現在僅在正向地理編碼中使用bounds
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.