首页 > 解决方案 > 从变量设置标记图标 url

问题描述

我想根据 IF 语句的结果动态更改标记的图标。

当markers[i][0] 的值等于red 时,它应该使用红色标记图标的url。如果是蓝色,则应使用蓝色图标。

var markers = [ ['abc','123','456','red'],['def','124','556','blue'] ];

for( i = 0; i < markers.length; i++ ) {
   var position = new google.maps.LatLng(markers[i][1], markers[i][2]);
   bounds.extend(position);
   marker = new google.maps.Marker({
     position: position,
     map: map,
     title: markers[i][0],

     if( markers[i][1] = 'red') {
     var jel = '{url: "http://maps.google.com/mapfiles/ms/icons/red-dot.png"}';
     }
     else {
     var sign = '{url: "http://maps.google.com/mapfiles/ms/icons/blue-dot.png"}';
     }
     icon: sign
   });
}

康索斯 说:

" Uncaught SyntaxError: Unexpected token [ " 
at the line (11) where I write  "markers[i][1] = 'red')"

.

我做错了什么?

谢谢!

标签: javascripticonsgoogle-maps-markers

解决方案


var markers = [ ['abc','123','456','red'],['def','124','556','blue'] ];

for( i = 0; i < markers.length; i++ ) {
   var position = new google.maps.LatLng(markers[i][1], markers[i][2]);
   bounds.extend(position);
   marker = new google.maps.Marker({
     position: position,
     map: map,
     title: markers[i][0],
     icon: markers[i][3] === 'red'
      ? '{url: "http://maps.google.com/mapfiles/ms/icons/red-dot.png"}'
      : '{url: "http://maps.google.com/mapfiles/ms/icons/blue-dot.png"}'
   });
}

推荐阅读