我正在尝试使用地理编码器获取以下地址的坐标:
1945 Barton Street, Hamilton, ON, L8H2Y7
在谷歌地图上搜索地址本身会找到地址: http: //g.co/maps/5axb5。使用地理编码网址也可以正常返回。http://maps.googleapis.com/maps/api/geocode/json?address=1945+BARTON+STREET,+HAMILTON,+ON,+L8H2Y7&sensor=false
但是,当我使用 api(我的代码如下)时,它返回未找到。
代码:(这适用于我正在搜索的其他几个地址)
if (geocoder) {
geocoder.geocode( {'address': fullAddress }, function (results, status) {
if (status == google.maps.GeocoderStatus.OK) {
map.setCenter(results[0].geometry.location);
var marker = new google.maps.Marker({
map: map,
position: results[0].geometry.location
});
} else {
alert("Geocoding failed: " + status + " " + fullAddress);
}
});
}
“实际”地址是“1945 Barton Street East , Hamilton, ON L8H2Y7, Canada”,但地图和直接 url 仍然可以很好地找到该地点,只有地理编码器没有。
关于为什么会发生这种情况的任何想法?
编辑:我想通了。这是一个合法找不到的不同地址(不是在谷歌地图上或使用地理编码器),但由于在地理编码器意识到找不到地址时请求是异步完成的,所以循环已经改变地址值到它可以找到的另一个地址。看来我还有一些工作要做。。