Javascript 谷歌地图API v3-在';对于';循环只在某些迭代中有效
我正在开发一个使用谷歌地图API v3的网站。对于这一问题,重要的基本功能如下:Javascript 谷歌地图API v3-在';对于';循环只在某些迭代中有效,javascript,google-maps,google-maps-api-3,Javascript,Google Maps,Google Maps Api 3,我正在开发一个使用谷歌地图API v3的网站。对于这一问题,重要的基本功能如下: 从JS数组中读取多个点的坐标(工作) 在地图上创建标记(工作) 为每个标记添加click事件的事件侦听器(仅适用于循环的某些迭代) JS数组标记信息示例: var photos = [ { file: "republica87", title: "Av. República, 87", yearA: "2013", yearB: "1909", desc: "Edifíc
- 从JS数组中读取多个点的坐标(工作)
- 在地图上创建标记(工作)
- 为每个标记添加click事件的事件侦听器(仅适用于循环的某些迭代)
var photos = [
{
file: "republica87",
title: "Av. República, 87",
yearA: "2013",
yearB: "1909",
desc: "Edifício típico ...",
author: "Paulo Guedes",
from: "Arquivo Municipal de Lisboa | Fotográfico",
link: "...",
coords: "38.74266,-9.146851,-85",
},
/*...*/
];
对于标记,只有coords
字段相关,然后将其拆分为纬度和经度(第三个值对此不重要)
然后,在“for”循环中,为每个标记创建标记,并创建“click”事件侦听器:
/*...*/
var markercam=new Array();
for (var i=1;i<photos.length;i++){
coords=photos[i].coords;
coords=coords.split(",");
lat=coords[0];
lon=coords[1];
rot=coords[2];
/*...*/
markercam[i] = new google.maps.Marker({
position: new google.maps.LatLng(lat,lon),
map: map,
icon: cameraicon,
url: './galeria.html?id='+i,
indice: i,
shape: shapecirc,
});
google.maps.event.addListener(markercam[i], 'click', function() {
window.location.href = this.url;
});
/*...*/
}
/*...*/
/**/
var markercam=新数组();
对于(var i=1;i它没有文档记录(至少我找不到),但是将标记的优化
-属性设置为false
可以为我修复它
似乎调用setZIndex()
会更新标记图像的ZIndex
,但不会更新MouseTarget(可单击区域,在不同的层中定义)的ZIndex
(默认设置)