最小的谷歌地理编码器不返回任何结果

时间:2012-11-03 16:54:54

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

前言 我已与Google联系并阅读了相关文档。完成后,它将在下一页显示地图并在第一页上自动提供 - 我不会违反这些条款和条件,所以请不要开始火焰战争

我已经着手尝试创建自己的最小地理编码器,该地理编码器不会在当前页面上显示地图。我发现在线没有示例代码!我是jquery的新手,但这是我能想到的最好的。然而,低,看它不起作用。

我确信我做了一些愚蠢的事情,所以如果有人能告诉我他们是否发现任何明显的原因导致这种情况无效,我将不胜感激。我之前从未制作过javascript。

JSFiddle Link:http://jsfiddle.net/njDvn/9/

<html>
<head>
<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false"></script>
<script>
function getLatLng() {
    var geocoder = new google.maps.Geocoder();
    var address = document.getElementById('address').value;
    geocoder.geocode({
        'address': address
    }, function (results, status) {
        if (status == google.maps.GeocoderStatus.OK) {
            var latLng = results[0].geometry.location;
            $('#lat').val(results[0].geometry.location.lat());
            $('#lng').val(results[0].geometry.location.lng());
        } else {
            alert("Geocode was not successful for the following reason: " + status);
        }
    });
}
</script>
</head>
    <body onload="initialize()">
        <div>
            <input id="address" type="textbox" value="Sydney, NSW">
            <input type="button" value="Geocode" onclick="codeAddress()">
            <input id="lat" type="textbox" value="lat">
            <input id="lng" type="textbox" value="lng">
           </div>
      </body>
</html>

1 个答案:

答案 0 :(得分:2)

我可以看到的前两件事是按钮的onclick正在调用codeAddress(),但您尚未声明该功能 - 您可以将其更改为getLatLng()并且应该然后工作。此外,<body onload正在调用initialize(),但也未声明。虽然这不应该阻止地理编码器发射你应该解决它。