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

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

android笔记 - 百度地图 多边形的点击事件_第1张图片
百度地图覆盖物点击事件.png

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

mBaiduMap.setOnMarkerDragListener( new BaiduMap.OnMarkerDragListener() {   
 @Override
public void onMarkerDrag(Marker marker) {    

}    

@Override
public 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    
}    

@Override
public boolean onMapPoiClick(MapPoi mapPoi) {        
        //这里点击百度自带的poi点会触发
        return true
;    
}
});

想引用

SpatialRelationUtil 这个类 得引入jar包

**baidumapapi_util_v3_6_1.jar **

android笔记 - 百度地图 多边形的点击事件_第2张图片
百度地图提供api文档.png

你可能感兴趣的:(android笔记 - 百度地图 多边形的点击事件)