我已经把我之前写过的代码用于另一个Web应用程序并将其用于另一个。但是,由于没有明显的原因,它不会检索结果:
地理编码由于以下原因未成功:ZERO_RESULTS
我有以下代码 - 正如暗示的那样 - 在其他地方没有任何问题:
<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false"></script>
<script type="text/javascript">
function googleMaps (lat, lng, zoom) {
geocoder = new google.maps.Geocoder();
var myLatlng = new google.maps.LatLng(lat, lng);
var myOptions = {
zoom: zoom,
center: myLatlng,
mapTypeId: google.maps.MapTypeId.TERRAIN
}
map = new google.maps.Map(document.getElementById("map-locations"), myOptions);
var marker = new google.maps.Marker({
position: myLatlng,
map: map
});
google.maps.event.addListener(map, "center_changed", function(){
document.getElementById("latitude").value = map.getCenter().lat();
document.getElementById("longitude").value = map.getCenter().lng();
marker.setPosition(map.getCenter());
document.getElementById("zoom").value = map.getZoom();
});
google.maps.event.addListener(map, "zoom_changed", function(){
document.getElementById("zoom").value = map.getZoom();
});
}
$(document).ready(function() {
googleMaps(52.3555, -1.1743, 6);
});
</script>
<script>
$(document).ready(function(){
$("#address").change(function(){
geocoder.geocode({
"address": $(this).attr("value")
}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
map.setZoom(14);
map.setCenter(results[0].geometry.location);
} else {
alert("Geocode was not successful for the following reason: " + status);
}
});
});
})
</script>
我还有“画布”和相应的地址字段,它们与其他地方的功能版本相同。
顺便说一下,我通过Google API程序创建了一个API密钥,我似乎与早期版本没有关系。但无论有没有API密钥,它都无法运行。
所以我想知道这个过程是否以某种方式破坏了事情。
答案 0 :(得分:4)
您必须将代码更改为
...
geocoder.geocode({
"address": $("#address").val()
}, function(results, status) {
...
使用$("#address").val()
代替$("#address").attr("value")
。