前言: 我已联系谷歌并阅读了文档。完成后,它将在下一页上显示 map ,并在第一页上自动建议 - 我不会以这种方式违反条款和条件,所以请不要发起口水战
我已经开始尝试创建自己的最小地理编码器,该地理编码器可以在不显示当前页面上的 map 的情况下进行地理编码。我发现网上没有执行此操作的示例代码!我是 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>
最佳答案
我首先看到的两件事是 onclick
按钮正在调用codeAddress()
,但您尚未声明该函数 - 您可以将其更改为 getLatLng()
然后它应该可以工作。再加上<body onload
正在调用initialize()
这也没有声明。虽然这不会阻止地理编码器触发,但您可能应该修复它。
关于javascript - 最小谷歌地理编码器不返回任何结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13211327/