我正在尝试在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循环中设置图标?
答案 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"
}
});