0

Google マップにマーカーのカスタム画像を追加することに成功しました。問題は、バルーンであるデフォルトのマーカーが新しい画像とともに表示されることです。

デフォルトのマーカーを削除して、カスタム イメージのみを使用するにはどうすればよいですか? 以下は、私が使用したコードブロックです:

    var image = "image url";   
    marker = createMarker(point, address1, town, postcode, SiteName);
    marker = new google.maps.Marker({
    position: point,
    map: map,
    icon: image
    });

createMarker 関数のコードは次のとおりです。

       function createMarker(point, address1, town, postcode, sitename) {

        var html;
        var infowindow;
        html = '<b>' + sitename + '</b>' + '<br/>' + address1 + '<br/>' + town + '<br/>' + postcode;
        var marker = new google.maps.Marker({ position: point, map: map });            

        google.maps.event.addListener(marker, "mouseover", function () {
            if (infowindow) infowindow.close();
            infowindow = new google.maps.InfoWindow({ content: html });
            infowindow.open(map, marker);
        });   

        google.maps.event.addListener(marker, "click", function () {
            if (infowindow) infowindow.close();
            infowindow = new google.maps.InfoWindow({ content: html });
            infowindow.open(map, marker);
        });            
        return marker;
    }
4

1 に答える 1

4

アイコンプロパティ - 画像またはベクター パスを設定できます: 例 -

  marker = new google.maps.Marker({
    position: new google.maps.LatLng(-25.363882, 131.044922),
    icon: {
    path: google.maps.SymbolPath.CIRCLE, 
    },
    or
    icon: url of an image,
    draggable: true,
    map: map,
    animation: google.maps.Animation.DROP
});

このアイコン プロパティは、デフォルトのバルーン アイコンをオーバーライドします。

または、コードの後半でアイコンを設定する場合は、次のように記述します-marker.setIcon("your url");


更新:実際には、同じ場所に 2 つのマーカーを作成しています。1 つはカスタム アイコンで、もう 1 つはデフォルト アイコンです。ここ-

marker = createMarker(point, address1, town, postcode, SiteName);`// marker1`
    marker = new google.maps.Marker({ `...... //marker 2`

だから、これらの両方を組み合わせる -

function createMarker(point, address1, town, postcode, sitename, image) {
//code

var marker = new google.maps.Marker({ position: point, map: map, icon:image }); 
于 2012-11-02T07:42:40.157 に答える