0

ジオコーダを使用して、次の住所の座標を取得しようとしています:

1945 Barton Street, Hamilton, ON, L8H2Y7

Google マップ自体で住所を検索すると、http: //g.co/maps/5axb5という住所が見つかります。ジオコード URL を使用しても問題なく返されます。http://maps.googleapis.com/maps/api/geocode/json?address=1945+BARTON+STREET,+HAMILTON,+ON,+L8H2Y7&sensor=false

ただし、API (以下のコード) を使用すると、not found が返されます。

画像

コード: (これは、私が検索している他のいくつかのアドレスでも問題なく機能します)

if (geocoder) {
    geocoder.geocode( {'address': fullAddress }, function (results, status) {
        if (status == google.maps.GeocoderStatus.OK) {
            map.setCenter(results[0].geometry.location);
            var marker = new google.maps.Marker({
                map: map,
                position: results[0].geometry.location
            });
        } else {
            alert("Geocoding failed: " + status + "  " + fullAddress);
        }
    });
}

「実際の」住所は「1945 Barton Street East , Hamilton, ON L8H2Y7, Canada」ですが、マップと直接の URL では場所が適切に検出されますが、ジオコーダだけでは検出されません。

なぜこれが起こっているのかについてのアイデアはありますか?

編集:私はそれを理解しました。正当に見つけることができなかったのは別の住所でした (Google マップやジオコーダーを使用したものではありません) が、ジオコーダーが住所を見つけられなかったことに気付くまでに要求が非同期で行われていたため、ループは既に変更されていました。見つけた別のアドレスへのアドレス値。先に仕事がありそうです..

4

1 に答える 1

1

それは私のライブデモで動作するので奇妙ですこれをチェックしてください

ライブデモ

どこかにもっとコードがありますか?

アップデート

私はプラス記号を使用してサービスをテストし、カナダがなくても機能しました

ここに例があります

于 2012-05-09T13:03:17.397 に答える