Android 高德地图SDK 文档纠错,揭秘 InfoWindow、Marker、坐标点的位置关系

507 阅读1分钟

Marker与坐标点之间的关系

参考官方文档 lbs.amap.com/api/android… ,当我们添加一个Marker的时候,需要指定一个坐标点,Marker图标大小是绝对的,不会随着缩放地图而变化。比如天安门(116.397455,39.909187),

1.png

2.png

Marker图标是一张图,在地图上体现为一块矩形区域,MarkerOptions#anchor用来控制该矩形区域与坐标点的相对位置:

3.png

Marker(矩形区域)与坐标点(小红点,天安门为例)的展示规则如下:

默认anchor(0.5, 1)anchor(0, 0)anchor(1, 1)
image.pngimage.pngimage.png

InfoWindow、Marker、坐标点之间的位置关系

Marker支持设置InfoWindow用来弹出详细信息,如下:

2-1.png

我们可以通过MarkerOptions#setInfoWindowOffset设置InfoWindowMarker的相对位置,注意官方文档的描述:

2-2.png

注意它是错的,InfoWindow始终为achor(0.5, 1)时的中上点,下面是三者的关系:

默认anchor(0.5, 1)anchor(0, 0)anchor(1, 1)
image.pngimage.pngimage.png

总结

本文以图示方式揭示了高德地图InfoWindow、Marker、坐标点之间的位置关系,同时指出官方文档的错误,希望能帮助大家避坑。