我成功设法在谷歌地图中显示标记,但由于代码改进的原因,我将公司的声明(由标记表示)分组在代码的一部分中,因此显示标准缩小为for loop。
但只显示地图,而不是标记。为什么?
这里是代码:(仅显示最后的公司信息;创建后,它们存储在“entreprises”字段中,这是一个数组。
var anx_wing_addresse = '<div style="width:240px;margin:0 0 20px
20px;height:130px;text-align:left;color:black"><h1>Gerwing-Sehn GmbH & Co. KG</h1>' +
'<p>Oststraβe 65<br/>' +
'D-66386 St Ingbert<br/>' +
'www.sehn.de</p>' +
'<p>T�l : +49(0)6894 3873-160<br/>' +
'Fax : +49(0)6894 3873-169</p></div>';
var anx_wing = new Entreprise("Gerwing-Sehn GmbH & Co. KG", anx_wing_addresse,
"anx_gerwing", false, false, false, true,
49.274763, 7.129415,
'images/icones_google_maps/noir20.png');
entreprises.push(anx_wing);
var latlng = new google.maps.LatLng(50.365613, 7.556992);
//objet contenant des propri�t�s avec des identificateurs pr�d�finis dans Google Maps permettant
//de d�finir des options d'affichage de notre carte
var options = {
center: latlng,
zoom: 6,
mapTypeId: google.maps.MapTypeId.ROADMAP,
draggable: true
};
//constructeur de la carte qui prend en param�tre le conteneur HTML
//dans lequel la carte doit s'afficher et les options
var carte = new google.maps.Map(document.getElementById("carte"), options);
for (ent in entreprises) {
infowindow1 = new google.maps.InfoWindow({
content: ent.descriptionHTML
});
marker = new google.maps.Marker({
position: ent.loc,
map: carte,
title: ent.nom,
icon: ent.chemin_image
});
google.maps.event.addListener(marker, 'click', function() {
new google.maps.InfoWindow({
content: ent.descriptionHTML
}).open(marker);
});
}
是for ... in循环错误?
感谢您的关注
奥利弗
答案 0 :(得分:0)
尝试将标记添加到集合中:
var markers = [];
var counter = 0;
for (ent in entreprises) {
infowindow1 = new google.maps.InfoWindow({
content: ent.descriptionHTML
});
markers[counter] = new google.maps.Marker({
position: ent.loc,
map: carte,
title: ent.nom,
icon: ent.chemin_image
});
google.maps.event.addListener(markers[counter], 'click', function() {
new google.maps.InfoWindow({
content: ent.descriptionHTML
}).open(markers[counter]);
});
counter++;
}
此外,您的ent.loc
必须是有效的google.maps.LatLng
对象