簡體   English   中英

Google Maps Api Marker setOptions()更改圖標

[英]Google Maps Api Marker setOptions() change icon

我想更改由繪制的多邊形選擇時的標記圖標。 在addMarker()中,從JSON數據中解析標記,並將其推送到allMarkers數組中。 如果未選擇該圖標,則該圖標為紅色;選擇時,該圖標將為白色。

function addMarker(lat,lng,i){
    var myLatlng = new google.maps.LatLng(lat,lng);
    var marker = new google.maps.Marker({
        position: myLatlng,
        icon: "http://labs.google.com/ridefinder/images/mm_20_red.png",
        map: map
    });
    marker.shapeId = '0';
    allMarkers.push(marker);    
}   


function selectMarkersInPoly() {
    alert(allMarkers.length)
    for (var i=0; i < createdShapes.length; i++) {
        for (var j=0; j < allMarkers.length; j++){
            var latlong = allMarkers[j].getPosition();
            if(google.maps.geometry.poly.containsLocation(latlong, createdShapes[i]) == true) {
                allMarkers[j].shapeId = createdShapes[i].id;
                allMarkers[j].setOptions({
                    icon : "http://labs.google.com/ridefinder/images/mm_20_white.png"
                });
            }
        }
    }   

}

selectMarkersInPoly()有什么問題? 謝謝您的幫助?

這不是JavaScript匿名對象的正確語法:

allMarkers[j].setOptions({
                icon = "http://labs.google.com/ridefinder/images/mm_20_white.png"
            });

(我認為您會在javascript控制台中收到javascript錯誤),這應該可以:

allMarkers[j].setOptions({
                icon: "http://labs.google.com/ridefinder/images/mm_20_white.png"
            });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM