我如何在 google 地图上创建自己的自定义标记,就像 google 地图的默认标记一样

How can I create my own custom marker on google map like google map's default marker

我要在地图上添加 2 个自定义标记并找到它们之间的路线。我正在从目的地 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())

When I am adding my custom markers They are shown on the map like this 正如您从这张图片中看到的,我的圆形标记没有固定到正确的位置

But actually I want like this

我认为您需要使用此 this method in MarkerOptions class

为您的标记添加一个锚点

这个方法的定义

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

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

例如将锚点设置在图标的中心你需要做的是:

markerOptions.anchor(0.2f, 0.2f);

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