Google Map API自定义标记图像

时间:2015-06-09 03:16:06

标签: javascript google-maps google-maps-api-3

我正在寻求帮助以获得自定义标记。该代码目前已被破坏。这是我的剧本。当我在for循环中放置图标时,它会中断。当我删除它,一切正常。

var map = new google.maps.Map(document.getElementById('map'), {
  zoom: 3,
  center: new google.maps.LatLng(35.239313, -41.073296),
  mapTypeId: google.maps.MapTypeId.HYBRID
});
map.setOptions({ minZoom: 3, maxZoom: 15 });
var infowindow = new google.maps.InfoWindow();
var image = 'images/research-pin.png';
var marker, i;

在此循环中,当我向for循环添加“icon”时,它不会显示。我需要使用相同的自定义图像显示多个标记。

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,
    html: locations[0]
    icon: image
  });
  google.maps.event.addListener(marker, 'click', (function(marker, i) {
    return function() {
      infowindow.setContent(locations[i][0]);
      infowindow.open(map, marker);
    }
  })(marker, i));
}

1 个答案:

答案 0 :(得分:0)

你错过了一个逗号。这样:

marker = new google.maps.Marker({
    position: new google.maps.LatLng(locations[i][1], locations[i][2]),
    map: map,
    html: locations[0]  //<----- missing comma
    icon: image
});

应该是:

marker = new google.maps.Marker({
    position: new google.maps.LatLng(locations[i][1], locations[i][2]),
    map: map,
    html: locations[0],  // <---- added comma
    icon: image
});

您应该收到语法错误。