0

一連の住所をジオコーディングし、MapQuest を使用して地図上でそれらを特定する必要があります。私は使っている

geocodeAndAddLocations

それを行う方法。私が抱えている唯一の問題は、特定の住所のジオコーディングが失敗したかどうかを判断できないことです。誰かがそれを決定する方法を知っていますか?

4

2 に答える 2

0

非常に簡単な方法...このjquery ajaxで次のURLを使用してジオコーディングします。あなたも mapquest を使っています この ajax は json オブジェクトを返します。

$.getJSON("http://nominatim.openstreetmap.org/reverse?format=json&lat="+lat+"&lon="+lon+"", function(data) {

             var  loc=data.display_name;    

                });

場所の詳細を取得できない場合は、「ジオコーディングできません」がスローされるため、問題を簡単に修正できます。

于 2013-02-14T09:36:15.463 に答える
0

私はこのコードをテストしていませんが、MapQuest API によると、次のようになります。

map.geocodeAndAddLocations([
      {street:"555 17th St", postalCode:"80202"}
], function (response) {
    if (response.results.length == 0) { // FAILED!!!
        alert("can't geocode location");
    } else { // SUCCESS
        var location;
        for (j=0; j<response.results[i].locations.length; j++) {
            location = response.results[i].locations[j];
            alert('lat: ' + location.latLng.lat + ', lng: ' + location.latLng.lng);
        }
    }
});

しかし、繰り返しになりますが、コードをより多く持つことで、正確に何をしていて何をしていないかをよりよく理解できるようになります。

于 2013-01-14T21:21:55.247 に答える