我不知道为什么r1变量是未定义的。'latLng':mEvent.latLng的东西在其他函数上运行得很好.
<!-- API V3 --> <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>……
.
……
google.maps.event.addListener(map, 'click', function(mEvent) {
var geo1 = new google.maps.Geocoder();
geo1.geocode( { 'latLng': mEvent.latLng }, function(results, status) {
if ( status == google.maps.GeocoderStatus.OK )
{
var r1 = results[0].formatted_address;
}
else
{
var r1 = '?';
}
});
//do things with mEvent.latLng and r1...发布于 2011-10-11 11:26:57
变量r1很可能是未定义的,因为它超出了作用域。你得把它的声明移高一点。例如:
google.maps.event.addListener(map, 'click', function(mEvent) {
var geo1 = new google.maps.Geocoder();
var r1;
geo1.geocode( { 'latLng': mEvent.latLng }, function(results, status) {
if ( status == google.maps.GeocoderStatus.OK )
{
r1 = results[0].formatted_address;
}
else
{
r1 = '?';
}
});
//do things with mEvent.latLng and r1...如果您仍然发现一些问题,请使用Firebug (在Firefox中)或在其他浏览器中的调试器中内置。您可以插入“调试器;”关键字,以便在调试器处于活动状态时在某一行停止。然后,您将能够检查哪些变量可用。
https://stackoverflow.com/questions/7724324
复制相似问题