Google地图:为标记类型设置自定义颜色

时间:2014-01-12 23:43:29

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

我正在尝试在Google地图中设置彩色标记,以便每种位置类型都有自己的颜色。

var markers = [
      ['Buy Jeans', latitude,logitude,'store'],
      ['Eat well', latitude,logitude,'restaurant'],
      ['Get drunk', latitude,logitude,'bar']
];

以下是我们如何浏览可用的标记。但我无法弄清楚如何给予 '存'一个红色的针, '餐厅'蓝色别针 并且'bar'是一个绿色的针脚

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],
});

有没有办法根据标记[i] [3]在for循环中设置图标?

2 个答案:

答案 0 :(得分:3)

我用以下方法解决了问题:

if(markers[i][3] == "store") { showIcon = "http://maps.google.com/mapfiles/ms/icons/red-dot.png"; }
if(markers[i][3] == "restaurant") {  showIcon = "http://maps.google.com/mapfiles/ms/icons/blue-dot.png"; }
if(markers[i][3] == "bar") {  showIcon = "http://maps.google.com/mapfiles/ms/icons/green-dot.png"; }

marker = new google.maps.Marker({
    position: position,
    map: map,
    title: markers[i][0],
    icon: showIcon
});

答案 1 :(得分:0)

您需要使用符号的fillColor属性为markerOptions添加图标属性。 https://developers.google.com/maps/documentation/javascript/reference#Symbol

marker = new google.maps.Marker({
    position: position,
    map: map,
    title: markers[i][0],
    icon: {
        path: google.maps.SymbolPath.CIRCLE,
        fillColor: "red"
    }
});