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

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

百度地图覆盖物点击事件
粗看很简单的一个逻辑,不就是覆盖物的点击事件么,然而,百度地图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

百度地图提供api文档

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值