簡體   English   中英

Google Maps反向地理編碼僅返回“ APPROXIMATE”位置

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM