我不知道为什么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...
答案 0 :(得分:1)
变量r1很可能是未定义的,因为它超出了范围。你需要稍微移动它的声明。 E.g:
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中)或在其他浏览器中内置调试程序。你可以插入“调试器”;调试器处于活动状态时停止在某行的关键字。然后,您将能够检查可用的变量。