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_Asp.net Mvc 4_Google Maps Api 3 - Fatal编程技术网

Javascript 如何使用标记地图中的链接传递数据';你想把它转到另一页吗?

Javascript 如何使用标记地图中的链接传递数据';你想把它转到另一页吗?,javascript,google-maps,asp.net-mvc-4,google-maps-api-3,Javascript,Google Maps,Asp.net Mvc 4,Google Maps Api 3,在我的MVC代码中有一个映射。加载地图时,在地图上显示一些标记。所以当点击标记时,这个标记的数据会传递到另一个页面,并在新页面上显示标记的信息 for (i = 0; i < (alarm.length) ; i++) { marker = new google.maps.Marker({ position: new google.maps.LatLng(alarm[i][0], alarm[i][1]),

在我的MVC代码中有一个映射。加载地图时,在地图上显示一些标记。所以当点击标记时,这个标记的数据会传递到另一个页面,并在新页面上显示标记的信息

for (i = 0; i < (alarm.length) ; i++) {
            marker = new google.maps.Marker({

                position: new google.maps.LatLng(alarm[i][0], alarm[i][1]),
                map: map, icon: '/Content/alarm.png',
                url: 'http://localhost/Alarm/Index/'+alarm[i][3]
            });
            google.maps.event.addListener(marker, 'mouseover', (function (marker, i) {
                return function () {
                    infowindow.setContent("<br/> No: " + alarm[i][2] + "<br/> Serial: " + alarm[i][3] );
                    infowindow.open(map, marker);
                }
            })
            (marker, i));
            marker.addListener('mouseout', function () {
                infowindow.close();
            });

            google.maps.event.addListener(marker, 'click', function () {
                window.location.href =marker.url ;
            });
        }
for(i=0;i<(报警长度);i++){
marker=新的google.maps.marker({
位置:新google.maps.LatLng(报警[i][0],报警[i][1]),
地图:地图,图标:'/Content/alarm.png',
网址:'http://localhost/Alarm/Index/“+警报[i][3]
});
google.maps.event.addListener(标记'mouseover',(函数(标记,i){
返回函数(){
infowindow.setContent(“
否:“+报警[i][2]+”
序列:“+报警[i][3]); 信息窗口。打开(地图、标记); } }) (marker,i)); marker.addListener('mouseout',函数(){ infowindow.close(); }); google.maps.event.addListener(标记,'click',函数(){ window.location.href=marker.url; }); }

这是我的代码,但当单击任何标记时,它会显示所有标记的相同信息。

您需要为标记“单击”侦听器以及标记“鼠标出”侦听器获取函数闭包。我建议使用
createMarker
函数,而不是大量匿名函数闭包。但是您可以在“单击”侦听器中使用
this
来访问其.url属性(将
marker.url
更改为
this.url

for(i=0;i<(报警长度);i++){
createMarker(报警[i]);
}
函数createMarker(报警){
var marker=new google.maps.marker({
位置:新建google.maps.LatLng(报警[0],报警[1]),
地图:地图,图标:'/Content/alarm.png',
网址:'http://localhost/Alarm/Index/“+警报[3]
});
google.maps.event.addListener(标记'mouseover',函数(evt){
infowindow.setContent(“
否:“+报警[2]+”
序列:“+报警[3]); 信息窗口。打开(地图、标记); }); marker.addListener('mouseout',函数(){ infowindow.close(); }); google.maps.event.addListener(标记,'click',函数(){ window.location.href=marker.url; }); }
可能重复@geocodezip,但当单击标记时,我想使用链接打开另一页。
for (i = 0; i < (alarm.length) ; i++) {
   createMarker(alarm[i]);
}
function createMarker(alarm) {
  var marker = new google.maps.Marker({
        position: new google.maps.LatLng(alarm[0], alarm[1]),
        map: map, icon: '/Content/alarm.png',
        url: 'http://localhost/Alarm/Index/'+alarm[3]
      });
   google.maps.event.addListener(marker, 'mouseover', function (evt) {
     infowindow.setContent("<br/> No: " + alarm[2] + "<br/> Serial: " + alarm[3] );
     infowindow.open(map, marker);
   });
   marker.addListener('mouseout', function () {
     infowindow.close();
  });
  google.maps.event.addListener(marker, 'click', function () {
     window.location.href =marker.url ;
  });
}