2012-07-26 50 views
0

我想讓這個有人點擊地圖,並且一個infoWindow彈出告訴他們latlng。現在,試圖找出如何讓infoWindow出現。我在這裏用標記發現了一個類似的問題,並且編輯了一些函數,但是我錯過了一些我很確定很簡單的東西,但我不能指出。這裏的代碼:InfoWindow not Displaying

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

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

幫助非常感謝! 謝謝

+0

見我的回答你的其他職位 http://stackoverflow.com/questions/11671571/google-:

粘貼此到地址欄,然後點擊地圖上的測試上this map maps-api-v3-info-bubble/11671897#11671897 – puckhead 2012-07-26 14:54:42

回答

0

我使用的是InfoBubble,它比InfoWindow好看,它也可以更容易地處理。嘗試一下。

0

事件是一個經緯度

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

謝謝,請試試這個 編輯:這個,謝謝你的提高。儘管 – 2012-07-26 14:10:14

+0

仍然沒有infowindow彈出,但您需要調用InfoWindows的開放方法 marker.open(map); – cadetill 2012-07-26 14:50:39

+1

事件不是LatLng,但它具有latLng屬性。 – geocodezip 2012-07-26 15:00:03

0

你是在傳遞事件的經緯度(event.latLng),而不是整個事件的正確。爲了幫助輸出,我提供了將lat和lng分解爲字符串的代碼。我修正了一些其他的事情:需要在google.maps.InfoWindow中成爲大寫字母「I」;如果窗口已經存在,則將內容設置爲新的latLng;添加了代碼,最終實際打開窗口。這應該照顧一切雅

function InfoWindow(location) { 
    var lat = location.lat().toString(); 
    var lng = location.lng().toString(); 
    var new_content = "Lat: " + lat + "<br />Long: " + lng 
    if (marker) { 
    marker.setPosition(location); 
    marker.setContent(new_content); 
    } else { 
     marker = new google.maps.InfoWindow({ 
     position: location, 
     content: new_content 
    }); 
    } 
    marker.open(map); 
} 

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

Map MouseEvent具有latLng屬性,

google.maps.event.addListener(map, 'click', function(event) 
{ 
    new google.maps.InfoWindow({ 
       map:map, 
       content:"coordinates:"+event.latLng.toUrlValue(), 
       position:event.latLng});}); 
} 

「地圖」是你的google.maps.Map參考。

javascript:google.maps.event.addListener(map, 'click', function(event) {new google.maps.InfoWindow({map:map, content:"coordinates:"+event.latLng.toUrlValue(),position:event.latLng});});