您的位置:首页 > 移动开发 > Android开发

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

2016-07-23 14:52 337 查看
在百度地图开发过程中,多边形的点击监听事件。

如下图所示,如何在黄色区域的触发点击事件



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

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: