我的代码:
function geocodeAddress(address){
var geocoder = new google.maps.Geocoder();
geocoder.geocode(
{
'address':address
},
function(results,status){
if(status===google.maps.GeocoderStatus.OK){
var resultsObj = results[0].geometry;
var resultsLocationObj = resultsObj['location'];
var lat = resultsLocationObj['k'];
var lon = resultsLocationObj['D'];
var coordinatesObj = {
address : address,
latitude : lat,
longitude : lon
};
return coordinatesObj;
}
}
);
}
$(document).ready(function(){
function initialize(){
$('#save-address').click(
function saveAddress(){
var addressText = $('#address').val();
console.log(geocodeAddress(addressText));
}
);
}
google.maps.event.addDomListener(window, 'load', initialize);
})
当该功能运行时,控制台上会打印两件事:
undefined at line XXXX
,其中XXXX
是第二行
console.log()
。coordinatesObj
(包含地址,纬度和经度的对象)的值我希望第二个console.log()
显示coordinatesObj
的值。
我该怎么办?
答案 0 :(得分:1)
如果没有看到你的标记,我们就无法确定发生了什么,但是从你已经显示的代码中我怀疑 - 我怀疑没有带有"地址&#的HTMLInputElement元素34。
$("#invalidId").val(); // returns `undefined`