android - 如何在谷歌地图上创建自己的自定义标记,如谷歌地图的默认标记
问题描述
我在地图上添加 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())
当我添加自定义标记时,它们会像这样显示在地图上 从这张图片中可以看出,我的圆形标记没有固定到正确的位置
解决方案
我认为您需要在 MarkerOptions 类中使用此方法向您的标记添加一个锚点
该方法的定义
指定锚点位于标记图像中的特定点。
锚点指定图标图像中锚定到地球表面上标记位置的点。
例如,要将锚点设置在图标的中心,您需要执行以下操作:
markerOptions.anchor(0.2f, 0.2f);
根据您的需要调整此锚点,它将起作用。
推荐阅读
- javascript - 公牛仪表板状态 404
- javascript - 某些 Express 公共文件无法在 localhost 上访问
- c++ - 如何为混淆内存添加 Qt 调试助手?
- html - 如何使用下拉列表项添加 Selected 属性
- javascript - 浏览器刷新后如何使本地存储数据留在页面上
- expression - 如何替换数据工厂表达式中的 CR 和 LF
- sql-server - 将 1 列分成 4 列
- snowflake-cloud-data-platform - 在 Snowflake 中克隆共享数据库
- r - 多条路线的行驶距离
- react-table - 如何为反应表 7 提供自定义排序功能?