Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 谷歌地图动态添加标记_Javascript_Google Maps - Fatal编程技术网

Javascript 谷歌地图动态添加标记

Javascript 谷歌地图动态添加标记,javascript,google-maps,Javascript,Google Maps,我想将动态标记添加到我的地图中,每个标记位于经度[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.RO

我想将动态标记添加到我的地图中,每个标记位于经度[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>

函数初始化(){
变量映射选项={
缩放:5,
中心:新google.maps.LatLng(48,2),
mapTypeId:google.maps.mapTypeId.ROADMAP
};
var map=new google.maps.map(document.getElementById('map-canvas'),
地图选项);
对于(变量i=0;i
它似乎不起作用,因为当单击标记时,将调用函数addListener,此时i=id.length


我想让marker[0]打开id为[0]的窗口,id为[1]的marker[1]等等。你能试着替换它吗

google.maps.event.addListener(marker[i], 'click', function() {
    window.open('blah.php?id='+id[i],'name','height=1000,width=1000')
});
根据本条—

(function (i) {
    google.maps.event.addListener(marker[i], 'click', function() {
        window.open('blah.php?id='+id[i],'name','height=1000,width=1000')
    });
})(i);
将侦听器包装在闭包中将使用该时间点的状态执行它。
查看此文件了解更多详细信息-

哦,不,它太完美了!!你刚才忘了末尾有一个括号。谢谢