-2

我找不到任何地方的簡單答案。 我正在尋找定義多個圖像作爲與谷歌地圖的標記,所以我可以使用if語句在它們之間切換。將多個圖像變量定義爲標記

var image = { 
url: 'images/green20.png', 
size: new google.maps.Size(20, 20), 
origin: new google.maps.Point(0, 0), 
anchor: new google.maps.Point(10, 10) 
    }; 

這是我用於我的標記之一。哪些後來在這裏使用:

for (i = 0; i < locations.length; i++) { 
    marker = new google.maps.Marker({ 
    position: new google.maps.LatLng(locations[i][1], locations[i][2]), 
    map: map, 
    icon: image, 
    title: locations[i][0] 
    }); 

是否有可能以不同的方式命名var圖像?例如,我也想使用orange20.png。

不知怎的,使用類似:

if (locations[i][4]='vacant') { 
icon: image (green20.png) 
} else { 
icon: image (orange20.png) 
} 

回答

0

肯定的是,for loop本身,你可以根據任何你想改變image變量。

for (i = 0; i < locations.length; i++) { 

    var image = { 
     size: new google.maps.Size(20, 20), 
     origin: new google.maps.Point(0, 0), 
     anchor: new google.maps.Point(10, 10) 
    } 

    if(locations[i][4] == 'vacant') { 
     image.url = 'http://example.com/image1.jpg' 
    } else { 
     image.url = 'http://example.com/image2.jpg' 
    } 

    marker = new google.maps.Marker({ 
    position: new google.maps.LatLng(locations[i][1], locations[i][2]), 
    map: map, 
    icon: image, 
    title: locations[i][0] 
    }); 
} 
+0

乾杯的人,我是一個總noob當談到這一點。我在哪裏定義網址? '爲(I = 0; I Berry

+0

@Berry看到我的更新答案,它與原始'image'對象差不多,只是我們稍後添加了'url'鍵。 – brod

+0

該圖標不會更改,它保留爲最先由'image.url ='定義的圖像。我需要定義'位置[i] [4] ='或其他什麼嗎? – Berry

相關問題