-3

配列からグーグルマップにマーカーを追加するために、私は次のことをしています。

私の質問は、設定しようとしている関数の終わりに言及してい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);
4

1 に答える 1

1

文書化されていないプロパティを使用しないでください(google.maps.Markerには文書化されたプロパティがありません)。文書化されたメソッド、この場合はsetIcon()を使用します。

例(テストされていません):

 if (beach[4] == 'Unlikely') {
    marker.setIcon(imageUnlikely);
 } 
于 2012-12-11T06:46:00.947 に答える