一連の住所をジオコーディングし、MapQuest を使用して地図上でそれらを特定する必要があります。私は使っている
geocodeAndAddLocations
それを行う方法。私が抱えている唯一の問題は、特定の住所のジオコーディングが失敗したかどうかを判断できないことです。誰かがそれを決定する方法を知っていますか?
一連の住所をジオコーディングし、MapQuest を使用して地図上でそれらを特定する必要があります。私は使っている
geocodeAndAddLocations
それを行う方法。私が抱えている唯一の問題は、特定の住所のジオコーディングが失敗したかどうかを判断できないことです。誰かがそれを決定する方法を知っていますか?
非常に簡単な方法...この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;
});
場所の詳細を取得できない場合は、「ジオコーディングできません」がスローされるため、問題を簡単に修正できます。
私はこのコードをテストしていませんが、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);
}
}
});
しかし、繰り返しになりますが、コードをより多く持つことで、正確に何をしていて何をしていないかをよりよく理解できるようになります。