将多个图像变量定义为标记

时间:2016-02-16 03:27:12

标签: javascript image google-maps if-statement google-maps-markers

我无法在任何地方找到一个简单的答案。 我希望定义多个图像用作Google地图的标记,以便我可以使用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)
}

1 个答案:

答案 0 :(得分: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]
  });
}