0

我需要对一堆地址进行地理编码,并使用 MapQuest 在地图上精确定位它们。我在用

geocodeAndAddLocations

方法来做到这一点。我唯一的问题是我无法确定某个地址的地理编码是否失败。有谁知道如何确定?

4

2 回答 2

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 回答
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;    

                });

在 url 中附加您的 lat 和 lng。如果无法获取位置详细信息,则会引发“无法进行地理编码”,因此您可以轻松解决问题。

于 2013-02-14T09:36:15.463 回答