簡體   English   中英

在Google地圖中更改標記時顯示標記信息窗口

[英]show Marker infowindow when a Marker changed in google map

JS:

 var map;

 function pageLoad() {
     map = new google.maps.Map(document.getElementById('map'), {
         zoom: 3,
         center: new google.maps.LatLng(34.454543, 35.812997),
         mapTypeId: google.maps.MapTypeId.ROADMAP
     });
     var infowindow = new google.maps.InfoWindow();
 }

 function getRandomArbitary(min, max) {
     return Math.random() * (max - min) + min;
 }

 function SetLocation() {
     var latitude = getRandomArbitary(1, 30);
     var longitude = getRandomArbitary(1, 30);
     var locationlatLng = new google.maps.LatLng(latitude, longitude);
     var marker = new google.maps.Marker({
         'position': locationlatLng,
         'map': map
     });
     map.panTo(locationlatLng);
 }

HTML:

 <div id="map" style="width: 900px; height: 600px">
 <a href="javascript:void(0)" onclick="SetLocation();">Set Custom Location</a>

當用戶單擊設置的自定義位置時,會創建一個新標記並將地圖固定在該標記上,但是創建新標記時如何動態顯示信息窗口?

創建標記后,單擊標記(帶有google.maps.event.trigger)(當然,您將需要單擊偵聽器來打開信息窗口,以及信息窗口的某些內容):

var map;
var infowindow;

 function pageLoad() {
     map = new google.maps.Map(document.getElementById('map'), {
         zoom: 3,
         center: new google.maps.LatLng(34.454543, 35.812997),
         mapTypeId: google.maps.MapTypeId.ROADMAP
     });
     infowindow = new google.maps.InfoWindow();
 }

 function getRandomArbitary(min, max) {
     return Math.random() * (max - min) + min;
 }

 function SetLocation() {
     var latitude = getRandomArbitary(1, 30);
     var longitude = getRandomArbitary(1, 30);
     var locationlatLng = new google.maps.LatLng(latitude, longitude);
     var marker = new google.maps.Marker({
         'position': locationlatLng,
         'map': map
     });
     google.maps.event.addListener(marker,'click',function(e){
        if (e && e.latLng) { 
          infowindow.setContent("location:" +e.latLng);
        } else {
          infowindow.setContent("location:" +marker.getPosition());
        }  
        infowindow.open(map,marker);
     });
     google.maps.event.trigger(marker,'click');

     map.panTo(locationlatLng);
 }
google.maps.event.addDomListener(window, 'load', pageLoad);

工作實例

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM