Google Maps API:使用自定义标记图标旋转

Kar*_*ali 1 javascript google-maps google-maps-api-3 google-maps-markers

我正在使用 Google Map Javascript API,并尝试使用可旋转的自定义图标创建自定义标记,

var marker = new google.maps.Marker({
    position: latlng,
    map: this.map
});

marker.setIcon({
  url:"assets/icon/nav.png",
  //path: google.maps.SymbolPath.FORWARD_CLOSED_ARROW,
  scale: 1,
  rotation: heading,
  scaledSize: new google.maps.Size(35, 35),
});
Run Code Online (Sandbox Code Playgroud)

旋转属性与 google.maps.SymbolPath.XXXX 一起使用,如代码中注释的行,但不能与我在代码中编写的自定义图标图像一起使用,

所以我问有没有办法让自定义图标图像旋转?或者从图像创建 google.maps.SymbolPath ?

MrU*_*own 7

1) 不,因为Icon 对象没有属性rotation,并且

2) 是的,你可以,但是为此,你需要使用Symbol 对象SVG 路径符号。您可以查看此答案此示例以获取更多信息。

var symbol = {  
    path: "M0 0 H 90 V 90 H 0 L 0 0",
    fillColor: '#FF0000',
    fillOpacity: .5,
    anchor: new google.maps.Point(0, 0),
    strokeWeight: 0,
    scale: .5,
    rotation: 45
}

var marker = new google.maps.Marker({
    position: new google.maps.LatLng(0, 0),
    map: map,
    icon: symbol
});
Run Code Online (Sandbox Code Playgroud)