如果您使用GClientGeocoder对象执行请求,那么您将为每个getLocations调用返回一个适当的响应代码:'
function logAddress (response)
{
if (!response || response.Status.code != 200)
{
// log the response.name and the response.Status.code
return;
}
// otherwise everything was fine
}
for (var i = 0; i < addresses.length; i++)
{
var geocoder = new GClientGeocoder ();
geocoder.getLocations (addresses[i], logAddress);
}
他们是
various response codes
是的,对于整个方向请求,loadFromWaypoints只会收到一次错误回调。您所做的不仅仅是一个简单的地理编码请求,实际上您正在为一系列地址值生成方向并渲染地图覆盖。我提出了几个解决方案:
-
-
当用户第一次输入地址信息时,您可以在此时执行GClientGeocoder getLocations查找,并获取纬度、经度和地址一起存储在数据库中。这样,如果用户输入的地址无法进行地理编码,那么您可以要求他们重新输入地址,或者让他们在谷歌地图上选择位置(并从中获取lat,lng)。这并不能解决您现在拥有的地址数据的问题,但也许您可以编写一些代码来运行现有数据(脱机),并在数据库中标记无法进行地理编码的地址。