0

前言: 我已经联系了谷歌并阅读了文档。完成后,它会在下一页显示地图并在第一页自动提示 - 我不会以这种方式违反条款和条件,所以请不要开始火焰战

我已着手尝试创建自己的最小地理编码器,该地理编码器无需在当前页面上显示地图即可进行地理编码。我发现网上没有这样做的示例代码!我是 jquery 的新手,但这是我能想到的最好的。但是,低并且看它不起作用。

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

JSFiddle 链接: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>

​</p>

4

1 回答 1

2

好吧,我可以看到的前两件事是onclick该按钮正在调用codeAddress(),但是您尚未声明该功能-您可以将其更改为,getLatLng()然后它应该可以工作。加上也没有声明的<body onload正在调用。initialize()虽然这不应阻止地理编码器触发,但您可能应该修复它。

于 2012-11-03T17:01:12.720 回答