1
這是我有:將地址轉換爲地理編碼,只是返回「未定義」,爲什麼?
進出口使用谷歌地圖V3,地理編碼。
我做了一個函數showAddress(param)。這需要參數,檢查它的地址如果是則返回線索,如果不是,則返回0.
如果您檢查鏈接,您可以看到我爲此編寫了代碼,但我只是得到警報「未定義」。
這裏有什麼問題?
這是我有:將地址轉換爲地理編碼,只是返回「未定義」,爲什麼?
進出口使用谷歌地圖V3,地理編碼。
我做了一個函數showAddress(param)。這需要參數,檢查它的地址如果是則返回線索,如果不是,則返回0.
如果您檢查鏈接,您可以看到我爲此編寫了代碼,但我只是得到警報「未定義」。
這裏有什麼問題?
哦,我終於明白了。問題不在Google地圖中。 您將返回的結果不是來自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">
您可以檢查它在這裏工作: