Google maps api 3 在google maps api v3中定义多个标记的大小和定位
有好几个类似的问题和答案,但我确实搞不懂!因此,我使用了两个不同的图标(customIcons),但由于默认设置“定位点位于图像底部的中心点”,它们在地图上的位置稍有错误(请参阅)。我知道我必须更改默认特性,但不知道如何更改。我通过以下方式定义自定义图标:Google maps api 3 在google maps api v3中定义多个标记的大小和定位,google-maps-api-3,google-maps-markers,Google Maps Api 3,Google Maps Markers,有好几个类似的问题和答案,但我确实搞不懂!因此,我使用了两个不同的图标(customIcons),但由于默认设置“定位点位于图像底部的中心点”,它们在地图上的位置稍有错误(请参阅)。我知道我必须更改默认特性,但不知道如何更改。我通过以下方式定义自定义图标: var markers = []; var infoWindow; var customIcons = { recent: {icon: 'http://www.herpetofauna-nrw.de/Fundmeldungen/blauer
var markers = [];
var infoWindow;
var customIcons = {
recent: {icon: 'http://www.herpetofauna-nrw.de/Fundmeldungen/blauer_Punkt.png'},
historisch: {icon: 'http://www.herpetofauna-nrw.de/Fundmeldungen/roter_Punkt.png'}
};
后来我使用:
downloadUrl("auswertung.xml?ienocache="+new Date().getMilliseconds(), function(data){
var xml = data.responseXML;
var markers = xml.documentElement.getElementsByTagName("marker");
var bounds = new google.maps.LatLngBounds();
for (var i = 0; i < markers.length; i++) {
var Art = markers[i].getAttribute("Art");
var type = markers[i].getAttribute("Stichjahr");
var Jahr = markers[i].getAttribute("Jahr");
var MTBNr = markers[i].getAttribute("MTBNr");
var latlng = new google.maps.LatLng(
parseFloat(markers[i].getAttribute("lat")),
parseFloat(markers[i].getAttribute("lng")));
var html =
"<b>" + "Art: " + "</b>" + Art + " <br/>" +
"<b>" + "MTB: " + "</b>" + MTBNr + "<br/>" +
"<b>" + "Funddatum: " + "</b>" + Jahr + "<br/>";
var icon = customIcons[type] || {};
var marker = new google.maps.Marker({
map: map,
position: latlng,
icon: icon.icon
});
谁能帮忙吗?
非常感谢 不推荐使用MarkerImage,而支持匿名对象。类似的方法应该可以工作(未经测试):
var image = new google.maps.MarkerImage('XXX.png', // The image size
new google.maps.Size(44, 46), // The origin
new google.maps.Point(0,0), // The anchor
new google.maps.Point(22, 23));
var customIcons = {
recent: {icon: {url:'http://www.herpetofauna-nrw.de/Fundmeldungen/blauer_Punkt.png',
anchor: new google.maps.Point(X1,Y1),
size: new google.maps.Size(S1,S2)}},
historisch: {icon: {url:'http://www.herpetofauna-nrw.de/Fundmeldungen/roter_Punkt.png',
anchor: new google.maps.Point(X2, Y2),
size: new google.maps.Size(S2,S2)}}
};