15

我有一个图像(一个圆圈),应该表示一个特定的大都市区。我也有我GeoPosition所有相关领域的。

如果我放置标记,则图像的底部中心位于标记的GeoPosition. 但是因为它是鸟瞰图,所以我想给图像一个偏移量,所以我的圆形图像的中心GeoPosition就在...

任何想法如何实现这一目标?

谢谢!

4

4 回答 4

21

感谢LeJared,我找到了解决方案。我的问题是我认为它MarkerImage取代了Marker. 但是您必须先定义图像,然后将其插入到Marker.

例子:

首先定义图像:

var image = new google.maps.MarkerImage("some/path/image.png",
        // This marker is 20 pixels wide by 32 pixels tall.
        null, 
        // 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(75, 35)
    );

然后将其插入常规标记中:

    var myMarker = new google.maps.Marker({
        position: myLatLng,
        map: map,
        icon: image,
        title: "My Title",
    });
于 2012-08-24T11:49:26.480 回答
10

从 Google API 版本 3.11 开始,MarkerImageIcon. 因此,这是将标记缩放到 50px 并将其定位以使其中心位于地理位置的新方法:

var image = {
        url: '/some/path/image.png',
        origin: new google.maps.Point(0, 0),
        anchor: new google.maps.Point(25, 25),
        scaledSize: new google.maps.Size(50, 50)
    };

var myMarker = new google.maps.Marker({
      position: position,
      icon: image,
      title: 'title',
      map: map
    });
于 2014-03-11T21:58:22.510 回答
3

您必须指定 markerImage 中的锚点在哪里。请参阅文档:https ://developers.google.com/maps/documentation/javascript/reference?hl=de#MarkerImage

如果未指定,谷歌假设你的 markerImage 底部边缘的中心作为锚点。

这是 API 文档中的一个示例,如何使用正确的 markerImage 构建复杂的标记:https ://google-developers.appspot.com/maps/documentation/javascript/examples/icon-complex?hl=de

于 2012-08-24T09:51:54.023 回答
0

这是我的看法。

new google.maps.Marker({
  position: pos,
  map: map,
  icon: {
    url: src,
    anchor: new google.maps.Point(25, 25),
    origin: new google.maps.Point(0, 0),
    scaledSize: new google.maps.Size(50, 50)
  }
});
于 2016-09-14T11:54:26.707 回答