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

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

百度地图覆盖物点击事件.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 **

百度地图提供api文档.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,539评论 25 709
  • 各位小伙伴们大家好,今天我向大家介绍一下苹果百度地图的使用方法,因为做过一些想关的APP,感觉百度地图还是挺方便的...
    Lee0528阅读 14,814评论 18 46
  • 【 申请密钥AndroidSDK:应用程序包名+数字签名 As查看数字签名:cmd-----cd .android...
    征程_Journey阅读 2,372评论 0 5
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,256评论 19 139
  • 青葱岁月中的20岁那年,很幸运的来到7522,多了三位亲爱的小伙伴,过了三年无忧无虑的象牙塔生活。 在不大的海洋学...
    小猫吥吥妞阅读 183评论 3 5