介绍

本示例演示了如何通过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();
下载源代码