0

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

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 仍然可以很好地找到该地点,只有地理编码器没有。

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

编辑:我想通了。这是一个合法找不到的不同地址(不是在谷歌地图上或使用地理编码器),但由于在地理编码器意识到找不到地址时请求是异步完成的,所以循环已经改变地址值到它可以找到的另一个地址。看来我还有一些工作要做。。

4

1 回答 1

1

这很奇怪,因为它在我的现场演示中工作检查这个

现场演示

你有更多的代码吗?

更新

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

这里是例子

于 2012-05-09T13:03:17.397 回答