显示在Google地图外部的标记弹出窗口

时间:2018-06-20 12:47:30

标签: javascript jquery google-maps if-statement popup

我正在尝试使this code by Geocodezip一次仅显示在地图侧面的一个弹出窗口,而其他窗口则在不活动时被隐藏。

为此,我尝试将if..else语句添加到google.maps.event.addListener,但目前无法正常工作。

我应该如何在if..else语句中隐藏所有弹出窗口,除非它们处于活动状态?

   google.maps.event.addListener(marker, 'click', function(e) {
     if ( popup.dialog('open') ) {
         popup.show();
     } else {
         popup.hide();
     }

   });

1 个答案:

答案 0 :(得分:0)

将唯一的ID传递给地图标记,使用该ID切换正确的弹出窗口

var popup = []


    addMarkerWithWindow("first","This is Lemans", new google.maps.LatLng(48.006922, 0.20874), map);
    addMarkerWithWindow("second","This is Paris", new google.maps.LatLng(48.856291, 2.352705), map);




    function addMarkerWithWindow(id, name, coordinate, map) {
/*    var popup=$('<div/>', {
      content: name
    });
*/
    var image = 'rss.png';
    var marker = new google.maps.Marker({
      map: map,
      // icon: image,
      position: coordinate
      customId:id
    });






//  jQuery 

    popup[id]=$('<div/>', {
    'id':'This is '+name,
    'text':'Hello World!'
    "class":'popp'

   }).dialog({
    'autoOpen':false,
    'width': 600,
    'height':600,
    'resizable':false,
    'modal':false,
    'title':name
   });


   google.maps.event.addListener(marker, 'click', function(e) {
    $('.popp').dialog('close');
    popup[this.customId].dialog('open');
   });
}