谷歌地图地理编码器返回未找到

时间:2012-05-09 12:54:54

标签: javascript google-maps google-maps-api-3 google-geocoding-api

我正在尝试使用地理编码器来获取以下地址的坐标:

1945 Barton Street, Hamilton, ON, L8H2Y7

在Google地图上搜索地址会找到地址:http://g.co/maps/5axb5。 使用地理编码网址也可以返回。 http://maps.googleapis.com/maps/api/geocode/json?address=1945+BARTON+STREET,+HAMILTON,+ON,+L8H2Y7&sensor=false

但是,当我使用api(我的代码如下)时,它返回未找到。

image

代码:(这适用于我正在搜索的其他几个地址)

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”,但是地图和直接网址仍然找不到地方,只有地理编码器没有。< / p>

关于为什么会发生这种情况的任何想法?

编辑: 我想到了。它是一个合法无法找到的不同地址(不是谷歌地图或使用地理编码器),但由于地理编码器意识到无法找到地址时请求是异步完成的,因此循环已经改变地址值到它可以找到的另一个地址。好像我前面有一些工作......

1 个答案:

答案 0 :(得分:1)

这很奇怪,因为它可以在我的现场演示中查看这个

Live Demo

你在哪里有更多代码吗?

<强>更新

我使用加号来测试服务,即使没有加拿大,仍然可以使用

here's examples