我已使用Google Maps PHP/XML示例来构建地图,并且希望包含自定义标记。当前,标记状态会更改标记图标并分配标签,如下所示。但是,我想使用高分辨率标记,因此需要调整图标的大小。
我知道我需要使用new google.maps.Size(X,X);
,但是我不知道如何将其构建到customLabel变量中,因为我看到的示例使用了不同的方法来显示图标。
向正确方向轻推会有所帮助。
var customLabel = {
completed: {
label: 'C',
icon: './assets/map/images/icon_green.png'
},
failed: {
label: 'F'
icon: './assets/map/images/icon_red.png'
}
};
var status = markerElem.getAttribute('status');
var icon = customLabel[status] || {};
var marker = new google.maps.Marker({
map: map,
position: point,
label: icon.label,
icon: icon.icon,
animation: google.maps.Animation.DROP
});
答案 0 :(得分:1)
看看MarkerOptions接口的文档:
https://developers.google.com/maps/documentation/javascript/reference/marker#MarkerOptions
您将看到icon属性可以是String,Icon或Symbol接口。当前,您正在将icon属性设置为String值。为了定义大小,您应该将Icon对象分配给icon属性。图标界面记录在
中https://developers.google.com/maps/documentation/javascript/reference/marker#Icon
因此,您应该使用类似
var marker = new google.maps.Marker({
map: map,
position: point,
label: icon.label,
icon: {
url: icon.icon,
size: new google.maps.Size(X,X)
},
animation: google.maps.Animation.DROP
});
我希望这会有所帮助!