如何在谷歌地图上创建自己的自定义标记,例如谷歌地图的默认标记



我在地图上添加了两个自定义标记,并找到它们之间的路线。我正在从目的地API获取路线,它运行良好。但问题是,当在地图上绘制这条路线时,我的自定义标记位置和绘制的多段线不是100%正确的。

我正在使用以下代码添加自定义标记:

MarkerOptions().position(startPos).title("Start Point") .icon(BitmapDescriptorFactory.fromResource(R.drawable.ic_pin_start)))

MarkerOptions().position(endPos).title("End Point") .icon(BitmapDescriptorFactory.fromResource(R.drawable.ic_pin_end))

但当我使用默认标记时,一切都可以正常工作。

MarkerOptions().position(endPos).title("End Point") .icon(BitmapDescriptorFactory.defaultMarker())

当我添加自定义标记时,它们在地图上显示如下正如你从这张图片中看到的,我的圆形标记没有固定在正确的位置

但实际上我想要这样的

我认为您需要在MarkerOptions类中使用此方法向标记添加锚点

此方法的定义

指定要位于标记图像中特定点的锚点。

锚点指定图标图像中锚定到地球表面上标记位置的点。

例如,要在图标中心设置锚点,需要执行以下操作:

markerOptions.anchor(0.2f, 0.2f);

根据你的需要调整这个锚点,它就会起作用。

最新更新