Android百度地图开发(七):地图事件监听
16lz
2021-12-04
- Android百度地图开发(一):概述
- Android百度地图开发(二):项目创建
- Android百度地图开发(三):定位
- Android百度地图开发(四):创建地图
- Android百度地图开发(五):图层
- Android百度地图开发(六):图形绘制
- Android百度地图开发(七):地图事件监听
可以监听到地图事件有:
- key验证(通过广播)
- 地图状态改变(包含手势、设置地图状态或其他某种操作导致地图状态改变)
- 地图单击事件
- 地图加载完成
- 地图渲染完成
- 地图双击事件
- 地图长按事件
- 地图 Marker 覆盖物点击事件
- 地图定位图标点击事件
- 地图截屏回调
- 触摸地图
//监听地图事件监听 IntentFilter iFilter = new IntentFilter(); //key 验证失败 iFilter.addAction(SDKInitializer.SDK_BROADTCAST_ACTION_STRING_PERMISSION_CHECK_ERROR); registerReceiver(mReceiver, iFilter); public class SDKReceiver extends BroadcastReceiver { public void onReceive(Context context, Intent intent) { String action = intent.getAction(); if(action.equals(SDKInitializer.SDK_BROADTCAST_ACTION_STRING_PERMISSION_CHECK_ERROR)) { // key 验证失败,相应处理 } } } //地图状态改变 BaiduMap.OnMapStatusChangeListener mOnMapStatusChangeListener = new BaiduMap.OnMapStatusChangeListener() { /** * 手势操作地图,设置地图状态等操作导致地图状态开始改变。 * @param mapStatus 地图状态改变开始时的地图状态 */ @Override public void onMapStatusChangeStart(MapStatus mapStatus) { toast("onMapStatusChangeStart"); } /** 因某种操作导致地图状态开始改变。 * @param mapStatus 地图状态改变开始时的地图状态 * @param reason 表示地图状态改变的原因,取值有: * 1:用户手势触发导致的地图状态改变,比如双击、拖拽、滑动底图 * 2:SDK导致的地图状态改变, 比如点击缩放控件、指南针图标 * 3:开发者调用,导致的地图状态改变 */ @Override public void onMapStatusChangeStart(MapStatus mapStatus, int reason) { toast("onMapStatusChangeStart"); } /** * 地图状态变化中 * @param mapStatus 当前地图状态 */ @Override public void onMapStatusChange(MapStatus mapStatus) { toast("onMapStatusChange"); } /** * 地图状态改变结束 * @param mapStatus 地图状态改变结束后的地图状态 */ @Override public void onMapStatusChangeFinish(MapStatus mapStatus) { toast("onMapStatusChangeFinish"); } }; //地图单击事件 BaiduMap.OnMapClickListener listener = new BaiduMap.OnMapClickListener() { /** * 地图单击事件回调函数 * @param point 点击的地理坐标 */ public void onMapClick(LatLng point){ toast("onMapClick"); } /** * 地图内 Poi 单击事件回调函数 * @param poi 点击的 poi 信息 */ public boolean onMapPoiClick(MapPoi poi){ return false; } }; //地图加载完成回调 BaiduMap.OnMapLoadedCallback mOnMapLoadedCallback = new BaiduMap.OnMapLoadedCallback() { /** * 地图加载完成回调函数 */ public void onMapLoaded(){ toast("地图加载完成回调"); } }; //地图渲染完成 BaiduMap.OnMapRenderCallback mOnMapRenderCallback = new BaiduMap.OnMapRenderCallback() { @Override public void onMapRenderFinished() { toast("地图渲染完成"); } }; //地图双击事件监听 BaiduMap.OnMapDoubleClickListener mOnMapDoubleClickListener = new BaiduMap.OnMapDoubleClickListener() { @Override public void onMapDoubleClick(LatLng latLng) { toast("地图双击"); } }; //地图长按事件监听 BaiduMap.OnMapLongClickListener mOnMapLongClickListener = new BaiduMap.OnMapLongClickListener() { @Override public void onMapLongClick(LatLng latLng) { toast("地图长按"); } }; //地图 Marker 覆盖物点击事件监听 BaiduMap.OnMarkerClickListener mOnMarkerClickListener = new BaiduMap.OnMarkerClickListener() { @Override public boolean onMarkerClick(Marker marker) { return false; } }; //地图定位图标点击事件监听 BaiduMap.OnMyLocationClickListener mOnMyLocationClickListener = new BaiduMap.OnMyLocationClickListener() { @Override public boolean onMyLocationClick() { return false; } }; //地图截屏回调 BaiduMap.SnapshotReadyCallback mSnapshotReadyCallback = new BaiduMap.SnapshotReadyCallback() { @Override public void onSnapshotReady(Bitmap bitmap) { toast("地图截屏回调"); } }; //触摸地图回调 BaiduMap.OnMapTouchListener mOnMapTouchListener = new BaiduMap.OnMapTouchListener() { @Override public void onTouch(MotionEvent motionEvent) { } };
>>>>>>>Demo地址<<<<<<<
更多相关文章
- Android百度地图开发(五):图层
- Android深色模式适配-想法1.0
- 通过在xml布局文件中设置android:onClick=""来实现组件单击事件
- Android下修改SeekBar样式
- Android实现隐藏状态栏和标题栏
- Android百度地图相关内容汇总
- APIDEMO TABLELAYOUT
- APIDEMO TABLELAYOUT
- APIDEMO TABLELAYOUT