【问题标题】:How can I create my own custom marker on google map like google map's default marker如何在谷歌地图上创建自己的自定义标记,如谷歌地图默认标记
【发布时间】:2020-06-26 02:38:04
【问题描述】:

我在地图上添加 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

【问题讨论】:

  • 也许您实际上是在传递纬度和经度的浮点值。请传入双精度值
  • 检查你的drawables,ic_pin_start & ic_pin_end

标签: android google-maps kotlin google-maps-markers


【解决方案1】:

我认为您需要使用此 this method in MarkerOptions class 为您的标记添加一个锚点

此方法的定义

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

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

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

markerOptions.anchor(0.2f, 0.2f);

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

【讨论】:

  • 谢谢,不知何故它帮助了我。但是,当我缩小地图时,标记位置有点错误。无论如何谢谢你
  • 我很高兴它有帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-08-21
  • 1970-01-01
  • 2014-05-27
  • 2018-11-15
相关资源
最近更新 更多