我需要对一堆地址进行地理编码,并使用 MapQuest 在地图上精确定位它们。我在用
geocodeAndAddLocations
方法来做到这一点。我唯一的问题是我无法确定某个地址的地理编码是否失败。有谁知道如何确定?
我需要对一堆地址进行地理编码,并使用 MapQuest 在地图上精确定位它们。我在用
geocodeAndAddLocations
方法来做到这一点。我唯一的问题是我无法确定某个地址的地理编码是否失败。有谁知道如何确定?
我没有测试过这段代码,但根据 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);
}
}
});
但同样,拥有更多代码可以更好地了解您到底在做什么和不做什么。
非常简单的方法...在此 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;
});
在 url 中附加您的 lat 和 lng。如果无法获取位置详细信息,则会引发“无法进行地理编码”,因此您可以轻松解决问题。