0

同様の質問と回答がいくつかありますが、私はそれを本当に理解することはできません!そのため、2つの異なるアイコン(customIcons)を使用しますが、デフォルト設定の「アンカーは画像の下部の中心点に沿って配置されている」ため、マップ上でわずかに正しく配置されていません。(https://developers.google.com/maps/documentation/javascript/reference#MarkerOptionsを参照してください)。そのデフォルト機能を変更する必要があることは知っていますが、その方法がわかりません。カスタムアイコンを次のように定義します

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
        });     

しかし、「var icon = customIcons [type] || {};」を使用すると、次のような必要なオプション「newgoogle.maps.Point(0,0)」をどこに配置すればよいかわかりません。

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));

誰か助けてくれませんか?よろしくお願いします!

4

1 に答える 1

2

MarkerImageは非推奨になり、Icon匿名オブジェクトが優先されます。このようなものは機能するはずです(テストされていません):

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)}}
};
于 2013-02-28T22:07:51.297 に答える