JavaScript   发布时间:2022-04-16  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了javascript – 谷歌地图动态添加标记大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我想在我的Map中添加动态标记,其中每个都位于经度[i]和纬度[i],我想要在用户点击标记时打开一个弹出窗口,在窗口的url中和ID = ID [i]中.

我尝试使用以下内容:

<script type="text/javascript">
function initialize() {
var mapOptions = {
zoom: 5,center: new google.maps.LatLng(48,2),mapTypEID: google.maps.MapTypEID.roaDMAP
};

var map = new google.maps.Map(document.getElementById('map-canvas'),mapOptions);

for (var i = 0; i < id.length; i++) {
var position = new google.maps.LatLng(latitude[i],longitude[i]);
marker[i] = new google.maps.Marker({
  position: position,map: map
});

marker[i].settitle("pv");
google.maps.event.addListener(marker[i],'click',function() {
window.open('blah.php?id='+id[i],'name','height=1000,width=1000')
});

}
}

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

它似乎不起作用,因为当点击标记时,函数addListener将被调用,此刻i = id.length

我想要的是标记[0]打开id [0]的窗口,标记[1]的id [1]等…

解决方法

你能尝试更换吗 –
google.maps.event.addListener(marker[i],function() {
    window.open('blah.php?id='+id[i],width=1000')
});

这样 –

(function (i) {
    google.maps.event.addListener(marker[i],function() {
        window.open('blah.php?id='+id[i],width=1000')
    });
})(i);

将侦听器包装在闭包中将使用该时间点的状态执行它.
查看更多详情 – adding ‘click’ event listeners in loop

大佬总结

以上是大佬教程为你收集整理的javascript – 谷歌地图动态添加标记全部内容,希望文章能够帮你解决javascript – 谷歌地图动态添加标记所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。