介绍
本示例演示了如何通过SDK运用并绘制地理围栏。
使用产品
Android 地图 SDK(该功能已经整合到地图SDK中)
核心类说明
1、TencentMap :地图核心类
2、 Polygon :多边形
3、PolygonOptions:构造多边形的点集
示例核心点讲解
1、添加多边形
polygon = mTencentMap.addPolygon(new PolygonOptions().
add(latLngs)
.fillColor(Color.TRANSPARENT)
.strokeWidth(5)
.visible(true)
.strokeColor(Color.BLUE));
2、设置Marker拖动事件的监听接口
mTencentMap.setOnMarkerDragListener(new TencentMap.OnMarkerDragListener() {
@Override
public void onMarkerDragStart(Marker marker) {
//当前手指按住Marker拖拽开始
LatLng position = marker.getPosition();
if (polygon.contains(position)) {
//在围栏内
textView.setText("在围栏内");
} else {
//在围栏外
textView.setText("在围栏外");
}
}
@Override
public void onMarkerDrag(Marker marker) {
//当前手指按住Marker拖拽中
LatLng position = marker.getPosition();
if (polygon.contains(position)) {
//在围栏内
textView.setText("在围栏内");
} else {
//在围栏外
textView.setText("在围栏外");
}
}
@Override
public void onMarkerDragEnd(Marker marker) {
//当前手指按住Marker拖拽结束
LatLng position = marker.getPosition();
if (polygon.contains(position)) {
//在围栏内
textView.setText("在围栏内");
} else {
//在围栏外
textView.setText("在围栏外");
}
}
});
}
注意点
1、 Marker默认是不被拖动的,所以要设置 支持拖动
marker.setDraggable(true);
2、PolygonOptions可以设置填充颜色、描边宽度、描边颜色等等
polygonOptions.fillColor();
polygonOptions.strokeWidth();
polygonOptions.strokeColor();
