高德地图SDK Android版开发 6 显示覆盖物
前言
在地图应用中,Overlay
(覆盖层)是指在地图图层之上叠加显示的额外信息层。这些覆盖层可以用来展示各种数据,如交通状况、用户位置、兴趣点(POI)等。在高德地图SDK中,可以使用多种类型的覆盖层来增强地图的功能和视觉效果。文本介绍简单的点线面和文本覆盖物使用方法和属性。
地图类中覆盖物的接口
AMap
类中添加Overlay
的接口:
类型 | 方法 | 说明 |
---|---|---|
Marker | addMarker (MarkerOptions options) |
在地图上添一个图片标记(marker)对象。 |
ArrayList< Marker > | addMarkers (ArrayList< MarkerOptions > options, boolean moveToCenter) |
在地图上添一组图片标记(marker)对象,并设置是否改变地图状态以至于所有的marker对象都在当前地图可视区域范围内显示。 |
Polyline | addPolyline (PolylineOptions options) |
在地图上添加一个折线对象(polyline)对象。 |
Polygon | addPolygon (PolygonOptions options) |
在地图上添加一个多边形(polygon)对象。 |
Arc | addArc (ArcOptions options) |
在地图上添加一个圆弧(arc)对象。 |
Circle | addCircle (CircleOptions options) |
在地图上添加一个圆(circle)对象。 |
Text | addText (TextOptions options) |
在地图上添一个文字标记(text)对象。 |
AMap
类中删除Overlay
的接口:
类型 | 方法 | 说明 |
---|---|---|
void | clear () |
从地图上删除所有的overlay(marker,circle,polyline 等对象)。 |
void | clear (boolean isKeepMyLocationOverlay) |
从地图上删除所有的覆盖物(marker,circle,polyline 等对象), 但myLocationOverlay(内置定位覆盖物)除外。 |
覆盖物类
类型 | 说明 | 覆盖物类 | 选项 |
---|---|---|---|
点 | 定义地图 Marker 覆盖物。 Marker 是在地图上的一个点绘制图标。 这个图标和屏幕朝向一致,和地图朝向无关,也不会受地图的旋转、倾斜、缩放影响。 |
Marker |
MarkerOptions |
折线 | 定义地图线段覆盖物。一个线段是多个连贯点的集合线段。 | Polyline |
PolylineOptions |
多边形 | 定义在地图上绘制多边形覆盖物。一个多边形可以凸面体,也可是凹面体。 | Polygon |
PolygonOptions |
弧线 | 定义了在地图上绘制弧形的类。 | Arc |
ArcOptions |
圆 | 定义了在地图上绘制圆的类。 | Circle |
CircleOptions |
文本 | 定义在地图中绘制的文字覆盖物。 | Text |
TextOptions |
Marker示例
// 定义Maker坐标点
LatLng point = new LatLng(39.963175, 116.400244);
// 构建Marker图标
BitmapDescriptor bitmap = BitmapDescriptorFactory
.fromResource(R.drawable.icon_mark_a);
// 构建MarkerOption,用于在地图上添加Marker
MarkerOptions option = new MarkerOptions()
.position(point)
.icon(bitmap);
// 在地图上添加Marker,并显示
Marker marker = map.addMarker(option);
Polyline示例
// 构建折线点坐标
LatLng p1 = new LatLng(39.97923, 116.357428);
LatLng p2 = new LatLng(39.94923, 116.397428);
LatLng p3 = new LatLng(39.97923, 116.437428);
List<LatLng> points = new ArrayList<>(