谷歌地图Javascript V3:如何从标记设置标记阴影的偏移?

时间:2011-10-07 04:27:35

标签: javascript google-maps google-maps-markers

我有一个带有几种不同类型图标的Google地图。我的每个图标都有一个阴影。如何调整标记阴影与标记的偏移量?

在构建每个标记的循环中,我得到了:

var icon = customIcons[type];
var marker = new google.maps.Marker({
    map: map,
    position: point,
    icon: icon.icon,
    shadow: icon.shadow
    });

图标按类型设置。

var customIcons = {
  Football: {
    icon: 'http://path-to-image1.png', 
    shadow: 'http://path-to-shadow-image1.png'
  },
  Lacrosse: {
    icon: 'http://path-to-image2.png',
    shadow: 'http://path-to-shadow-image2.png'
  }
};

在这个tutorial中,他们为单个图标设置大小和偏移量,如下所示:

var image = new google.maps.MarkerImage('images/beachflag.png',
      // This marker is 20 pixels wide by 32 pixels tall.
      new google.maps.Size(20, 32),
      // The origin for this image is 0,0.
      new google.maps.Point(0,0),
      // The anchor for this image is the base of the flagpole at 0,32.
      new google.maps.Point(0, 32));
  var shadow = new google.maps.MarkerImage('images/beachflag_shadow.png',
      // The shadow image is larger in the horizontal dimension
      // while the position and offset are the same as for the main image.
      new google.maps.Size(37, 32),
      new google.maps.Point(0,0),
      new google.maps.Point(0, 32));

在我的情况下,我有多个图标,它们被设置在一个对象中。如何将大小和偏移量添加到var customIcons

谢谢。

2 个答案:

答案 0 :(得分:3)

根据这篇Google Map API v3 documentation

  

注意:Google Maps JavaScript API 3.14版中删除了标记阴影。任何   以编程方式指定的阴影将被忽略。

答案 1 :(得分:0)

请参阅:https://developers.google.com/maps/documentation/javascript/reference#MarkerImage

阴影图像是MarkerImage对象。因此,它的构造函数可以使用anchor参数(Point对象)来告诉如何相对于标记坐标定位阴影。

默认情况下,MarkerImage的底部中心点在标记坐标上对齐。如果您的阴影图像与标记图像的大小不同(例如,如果它更宽),则必须调整阴影的位置。