Google地图标记可以将复杂的svg路径作为其图标,如下所示:
var baseSvg = {
x1 : "m 0,0 l45,0 l 190,225 l -45,0 l -190,-225 z",
x2 : "m 225,0 l -45,0 l -190,225 l 45,0 l 190,-225 z"
};
var baseIcon = {
path: "M0,0 " + baseSvg["x1"] + baseSvg["x2"],
fillColor: "#000000",
fillOpacity: 1,
scale: .2,
strokeColor: "black",
strokeWeight: 0,
rotation: 15
};
Run Code Online (Sandbox Code Playgroud)
然后将其送入标记:
var marker = new google.maps.Marker({
position: new google.maps.LatLng(somelat, somelng),
icon: baseIcon
});
Run Code Online (Sandbox Code Playgroud)
都好.但它只绘制一种颜色(本例中为黑色).那么,它们只能有一种颜色,还是有多种颜色的符号?使用示例代码,x1将为红色,x2将为绿色.
请注意,此构造是从这里借用的:如何在Google Maps API v3中指定SVG路径中的透明度?它工作得很好.