我正在执行以下操作,以便从数组中向Google地图添加标记。
我的问题是指函数的结束我试图设置marker.icon = imageUnlikely;
我试图让标记成为图像而不是标准的Google地图标记,但它不起作用。如果我将icon: imageUnlikely
添加到marker
对象,则图片会正确显示。
有什么想法吗?
var imageUnlikely = new google.maps.MarkerImage('/BeachApp/maps/Unlikely.PNG', new google.maps.Size(15, 14));
function SetupMarkers(map, locations) {
var shapeNoUpdate = {
coord: [0, 0, 218, 200],
type: 'rect'
};
var shapeWithUpdate = {
coord: [1, 1, 1, 20, 55, 20, 55, 1],
type: 'poly'
};
for (var i = 0; i < locations.length; i++) {
var beach = locations[i];
var beachId = beach[7];
var myLatLng = new google.maps.LatLng(beach[1], beach[2]);
var marker = new google.maps.Marker({
position: myLatLng,
map: map,
shape: shapeNoUpdate,
title: beach[0] + ' - pollution ' + beach[4],
beachId: beachId,
arrayIndex: i
});
if (beach[4] == 'Unlikely') {
marker.icon = imageUnlikely;
}
}
}
SetupMarkers(map4, beaches4);
答案 0 :(得分:1)
不要使用未记录的属性(google.maps.Marker没有任何记录的属性)。使用记录的方法,在本例中为setIcon()。
示例(未测试):
if (beach[4] == 'Unlikely') {
marker.setIcon(imageUnlikely);
}