2012-07-26 112 views
1

可能重複:
InfoWindow not Displaying谷歌地圖API V3信息泡泡

至今猶存對我不明白一個問題。我不明白爲什麼這不起作用,我相信這是非常簡單的事情。我已經改變了一些東西,仍然沒有。我試圖讓用戶點擊地圖上的任何地方,並且一個infoWindow會告訴他們該地點的緯度/經度。謝謝

var window; 
function InfoWindow(location) { 
    if (window) { 
    window.setPosition(location); 
    } else { 
    window = new google.maps.infoWindow({ 
     position: location, 
     content: "sam" 
    }); 
    } 
} 

google.maps.event.addListener(map, 'click', function(event) { 
    InfoWindow(event); 
}); 

回答

1

這裏有很多問題。首先,我不會使用window作爲變量名稱。其次,在創建InfoWindow時,需要將其大小寫爲

new google.maps.InfoWindow() 

第三,您將事件對象傳遞給InfoWindow創建函數。傳遞事件對象很糟糕。所以現在,在InfoWindow函數中,location指向事件對象,而不是位置。您應該改爲傳遞event.latLng。您還需要調用InfoWindow上的open方法。

var infoWindow; 
function InfoWindow(location) { 
    if (infoWindow) { 
    infoWindow.setPosition(location); 
    } else { 
    infoWindow = new google.maps.InfoWindow({ 
     position: location, 
     content: "sam" 
    }); 
    } 
    infoWindow.open(); 
} 
google.maps.event.addListener(map, 'click', function(event) { 
    InfoWindow(event.latLng); 
});