javascript - 谷歌地图标记上的 jquery ui 对话框

标签 javascript jquery google-maps

我有一个绘制多个标记的 Google map ,我需要为标记提供单击事件来显示弹出窗口,以下代码对信息窗口执行此操作,但我想使用 Jquery ui 弹出对话框而不是信息窗口。弹出窗口必须显示来自 div 的信息,该 div 的样式属性显示为“无”,有人可以帮助解决这个问题,请帮忙。

enter code here
 <script>
 var myCenter=new google.maps.LatLng(51.508742,-0.120850);

  function initialize()
 {
 var mapProp = {
  center:myCenter,
  zoom:5,
  mapTypeId:google.maps.MapTypeId.ROADMAP
  };

  var map=new google.maps.Map(document.getElementById("googleMap"),mapProp);

  var marker=new google.maps.Marker({
  position:myCenter,
  });

  marker.setMap(map);

   var infowindow = new google.maps.InfoWindow({
  content:"Hello World!"
  });

  google.maps.event.addListener(marker, 'click', function() {
   $("#mypopup").dialog();
   //infowindow.open(map,marker);
   });
    }

   google.maps.event.addDomListener(window, 'load', initialize);
   </script>
     </head>

   <body>
  <div id="googleMap" style="width:500px;height:380px;"></div>

   <div id="mypopup" style="display:none"> <div>


     </body>
     </html>

最佳答案

试试这个:http://jsfiddle.net/lotusgodkk/x8dSP/3525/

JS:

var myCenter = new google.maps.LatLng(51.508742, -0.120850);

function initialize() {
    var mapProp = {
        center: myCenter,
        zoom: 5,
        mapTypeId: google.maps.MapTypeId.ROADMAP
    };

    var map = new google.maps.Map(document.getElementById("googleMap"), mapProp);

    var marker = new google.maps.Marker({
        position: myCenter,
    });

    marker.setMap(map);

    var infowindow = new google.maps.InfoWindow({
        content: "Hello World!"
    });

    google.maps.event.addListener(marker, 'click', function () {
        console.log('clicked')
        //$("#mypopup").dialog();
        var dialog = $("#mypopup").dialog({
            buttons: {
                "Yes": function () {
                    alert('you chose yes');
                },
                    "No": function () {
                    alert('you chose no');
                },
                    "Cancel": function () {
                    dialog.dialog('close');
                }
            }
        });
        //infowindow.open(map,marker);
    });
}
google.maps.event.addDomListener(window, 'load', initialize);

HTML:

<div id="googleMap"></div>
<div id="mypopup">Hello</div>

CSS:

#googleMap {
     height: 380px;
     width: 500px;
 }
 #mypopup {
     display:none;
 }

关于javascript - 谷歌地图标记上的 jquery ui 对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24238151/

相关文章:

javascript - Div 占用了它不存在的空间

jQuery 检测对字段的编程更改

javascript - 更改 Google map 上路线的默认标记

javascript - Google map 中 SVG 层的自定义鼠标交互

ios - Google API Bug - 归因不一致

javascript - 使用 Jquery 获取表单字段值时检查表单字段是否为数字

javascript - 如何使用 AJAX 文件上传和 jquery.form.js 显示上传的 MB 量?

javascript - 问题示例电话号码

javascript - 未捕获的类型错误 : Object [object Object] has no method 'slides'

javascript - 如何只显示 foreach 循环绑定(bind)中的第一个元素?