如果该标记的数据库中的BusinessType
字段是特定值,我希望Google地图上的标记颜色更改。
目前,我的地图可以通过列表框中的值针对不同的业务类型进行过滤。值为All
(包括所有内容),Type1
和Type2
。
我已经使用以下内容将标记从默认设置更改为自定义图形,该图形效果很好,但正如预期的那样将它用于所有标记。
var marker = new google.maps.Marker({
map: map,
position: latlng,
icon: 'BlueMarker.png'
});
我已经尝试了marker
变量作为整体的各种if语句,只考虑了变量的icon
部分,但是我不能让它使用基于它的不同图形BusinessType
变量中的值。
有人可以指出我正确的方向吗?
这是标记的整个功能:
function createMarker(latlng, name, add1, add2, add3, town, county, address, businesstel, website) {
var html = "<b>" + name + "</b> <br/>" + add1 + " <br/>" + add2 + " <br/>" + add3 + " <br/>" + town + " <br/>" + county + " <br/>"
+ address + " <br/>" + " <br/>"+ " <b>" + "Tel: " + businesstel + " </b> <br/>" + "<a href="+"http://www.website.com> <font color="+"blue>"+ website +"</font> </a> <br/> <br/>";
var marker = new google.maps.Marker({
map: map,
position: latlng,
icon: 'BlueMarker.png'
});
google.maps.event.addListener(marker, 'click', function() {
infoWindow.setContent(html);
infoWindow.open(map, marker);
});
markers.push(marker);
}
由于
答案 0 :(得分:0)
这可能有点拉伸(取决于你的图标有多复杂),但是如果你熟悉SVG路径表示法(http://www.w3.org/TR/SVG/paths.html#PathData),你可以创建自定义SVG图标并更新{{1具有任何可用CSS3颜色的属性(例如,fillColor
或#990000 - 基本上是从数据库返回的任何兼容颜色。)
请参阅官方文档以获取示例(https://developers.google.com/maps/documentation/javascript/examples/marker-symbol-custom)。