Javascript 如何使用标记地图中的链接传递数据';你想把它转到另一页吗?
在我的MVC代码中有一个映射。加载地图时,在地图上显示一些标记。所以当点击标记时,这个标记的数据会传递到另一个页面,并在新页面上显示标记的信息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]),
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 ;
});
}