【问题标题】:Google maps geocoder returns Not found谷歌地图地理编码器返回未找到
【发布时间】:2012-05-09 12:54:54
【问题描述】:

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

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(我的代码如下)时,它返回 not found。

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

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

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

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

【问题讨论】:

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


    【解决方案1】:

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

    Live Demo

    你有更多的代码吗??

    更新

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

    here's examples

    【讨论】:

    • 这很奇怪。您认为 + 符号和逗号与它有什么关系吗?我也没有经过这个国家,尽管这似乎没有什么不同......
    • 我不这么认为,因为在文档中说服务解决了符号的问题,让我尝试使用加号的服务,看看我是否遇到问题
    • 我确实有更多代码,但没有一个与地理编码器有关。你可以从截图中看到我生成的地址。
    • 您确定服务的错误未找到且未查询OVER_QUERY_LIMIT, REQUEST_DENIED
    • 这确实发生在我身上,但你可以看到我的代码直接返回状态......这是 ZERO_RESULTS。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-04-10
    • 1970-01-01
    • 2016-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-15
    相关资源
    最近更新 更多