3
var lat = 0.0;
var lng = 0.0;
var jsonData = null;
var geocoder = new google.maps.Geocoder();
var miles = $('#milesAway').val();
// find what the user is locating by
if ($('#zipCode').is(':visible'))
{
var zipText = $('#zipCode').val();
if (isValidUSZip(zipText))
{
geocoder.geocode({
'address': zipText
}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
lat = results[0].geometry.location.lat();
lng = results[0].geometry.location.lng();
map.setCenter(results[0].geometry.location);
} else {
alert("Zip Code couldn't be located.");
}
});
}
else
{
alert('Please enter a valid US zip code.');
}
}
经过这件事情之后,lat和lng仍设置为0.0,为什么?我不应该能够像这样设置它们吗?在javascript中设置外部范围变量from内部范围
编辑:我到了他们应该设置的位置,如果我在那里发出警告,我可以看到他们应该设置的值。
我看到它的运行并执行其他代码,而不先运行geocode成功方法。疑难杂症。谢谢 – Scott 2011-04-07 21:14:46
@Scott你可以请小提琴的解决方案吗? – Dhaval 2013-03-20 07:29:40
@Dhaval - 这个问题是2岁。 StackOverflow是一种资源,不是人们让他人为他们工作的地方。 – 2013-03-20 21:05:30