android- 百度地图 多边形的点击事件

来源:互联网 发布:b2b营销软件 编辑:程序博客网 时间:2024/04/30 11:27

在百度地图开发过程中,多边形的点击监听事件。
如下图所示,如何在黄色区域的触发点击事件

百度地图覆盖物点击事件
粗看很简单的一个逻辑,不就是覆盖物的点击事件么,然而,百度地图api并没有提供对应的接口

mBaiduMap.setOnMarkerDragListener( new BaiduMap.OnMarkerDragListener() {    @Overridepublic void onMarkerDrag(Marker marker) {    }    @Overridepublic void  onMarkerDragEnd(Marker marker) {    }    @Override public void onMarkerDragStart(Marker marker) {    }});

还好 百度提供了一个这么一个类

SpatialRelationUtil

然后在这个监听事件里面处理

mBaiduMap.setOnMapClickListener(new BaiduMap.OnMapClickListener() {    @Override public void onMapClick(LatLng latLng) {       SpatialRelationUtil spatialRelationUtil =  new SpatialRelationUtil();       boolean isInFlag =  spatialRelationUtil.isPolygonContainsPoint(positionPts,latLng);       //如果在区域内,isInFlag为true, 否则为false    }    @Overridepublic boolean onMapPoiClick(MapPoi mapPoi) {                //这里点击百度自带的poi点会触发        return true;    }});

想引用

SpatialRelationUtil 这个类 得引入jar包

baidumapapi_util_v3_6_1.jar

百度地图提供api文档

0 0
原创粉丝点击