我想知道爲什麼這不起作用,它完美地記錄了Object {lat: 52.132633, lng: 5.291265999999999}
。但done()
函數中只有console.log()
有效。爲了其他人不工作,而我返回確切的變量...JavaScript - 來自國家名稱的谷歌API lat/lng
function getLatLng() {
var LatLng;
$.ajax({
url: 'https://maps.googleapis.com/maps/api/geocode/json?address=germany&sensor=false',
type: 'GET',
dataType: 'json',
})
.done(function(data) {
LatLng = data.results[0];
console.log(LatLng);
})
return LatLng;
}
console.log(getLatLng());
我需要一些解決方法,這樣我可以讓initMap()
功能的工作與我的lattitude和經度變量:
function getLatLng() {
var LatLng;
$.ajax({
url: 'https://maps.googleapis.com/maps/api/geocode/json?address=germany&sensor=false',
type: 'GET',
dataType: 'json',
})
.done(function(data) {
LatLng = data.results[0];
console.log(LatLng);
})
return LatLng;
}
console.log(getLatLng()); // undefined
function initMap() {
var styledMapType = new google.maps.StyledMapType(
[],
{name: 'Styled Map'});
var map = new google.maps.Map(document.getElementById('map'), {
center: {lat: latVal, lng: lngVal}, // error >>> undefined
zoom: 11,
mapTypeControlOptions: {
mapTypeIds: ['roadmap', 'satellite', 'hybrid', 'terrain',
'styled_map']
}
});
map.mapTypes.set('styled_map', styledMapType);
map.setMapTypeId('styled_map');
}
已經嘗試'function findItem(){ var item; while(item_not_found){ //搜索 } return item; } var item = findItem();' –
我更新了我的問題,希望它現在更清晰 –
這是因爲'ajax.done()'在返回後執行。 –