这就是我所拥有的:
我使用谷歌地图 v3,地理编码。
我做了一个函数 showAddress(param)。这需要参数,检查它是否是地址,如果是,则返回绳索,如果不是,则返回 0。
如果您检查链接,您会看到我已经为此编写了代码,但我只是收到一个警报“未定义”。
这里有什么问题?
这就是我所拥有的:
我使用谷歌地图 v3,地理编码。
我做了一个函数 showAddress(param)。这需要参数,检查它是否是地址,如果是,则返回绳索,如果不是,则返回 0。
如果您检查链接,您会看到我已经为此编写了代码,但我只是收到一个警报“未定义”。
这里有什么问题?
哦,我终于意识到了这个案子。问题不在谷歌地图上。您不是从回调返回结果,showAddress
而是从回调返回结果。所以,它实际上无处可去。您还需要使用回调显示结果。像这样:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js"></script>
<script src="http://maps.google.com/maps/api/js?sensor=false" type="text/javascript"></script>
<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?libraries=geometry&sensor=false"></script>
<script type="text/javascript">
var geocoder;
function showAddress(address, callback)
{
if (typeof(geocoder) == 'undefined') geocoder = new google.maps.Geocoder();
geocoder.geocode( { 'address': address}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
callback(results[0].geometry.location);
} else {
callback(0);
}
});
}
$(document).ready(function(){
$('#address').blur(function(){
showAddress( $('#address').val(), function(result)
{
if (result === 0)
alert('Adressen not found');
else{
alert(result);
$('#cords').val( result );
}
});
});
});
</script>
<input type="text" name="address" id="address">
你可以在这里检查它的工作:http: //jsfiddle.net/BgDQc/2/