Google Maps API – 标记图像偏移 – 替换标记 – 不在GeoPosition

我有一个图像(一个圆圈),它应该表明一个特定的都市区域。 此外,我还获得了所有相关领域的GeoPosition

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

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

谢谢!

感谢LeJared,我find了解决方案。 我的问题是我认为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", }); 

从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 }); 

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

如果未指定,则Google会将markerImage的下边缘的中心视为锚点。

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

这是我的看法。

 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) } });