SuperIC社区_

标题: 百度地图监 听事件 [打印本页]

作者: liuwei    时间: 2016-9-28 11:07
标题: 百度地图监 听事件
本帖最后由 liuwei 于 2016-9-28 12:15 编辑

百度地图事件**
Key验证事件**
在工程Manifest中添加相应的开发密钥,SDK会自动去调用这个开发密钥,相应的鉴权状态将已广播的形式反馈给开发者。具体使用方法如下所示:
开发密钥位置:
<applicationandroid:name="baidumapsdk.demo.DemoApplication" <meta-data android:name="com.baidu.lbsapi.API_KEY"android:value="开发密钥" /></application>
广播**方法:
第一步、定义广播**者
public classSDKReceiver 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 验证失败,相应处理 } } }
第二步、注册广播**者
IntentFilteriFilter = new IntentFilter();iFilter.addAction(SDKInitializer.SDK_BROADTCAST_ACTION_STRING_PERMISSION_CHECK_ERROR);iFilter.addAction(SDKInitializer.SDK_BROADCAST_ACTION_STRING_NETWORK_ERROR);mReceiver = new SDKReceiver(); registerReceiver(mReceiver, iFilter);
第三步、不使用地图 SDK 时,取消广播**
unregisterReceiver(mReceiver);
一般事件**
自v3.0.0版本起,取消了BMapManager方法,即初始化工程不再需要开发者自己完成,而是由SDK内部自行实现。相应的事件**,采用了广播机制,具体使用方法如下所示:
第一步、定义广播**者;
public classSDKReceiver extends BroadcastReceiver { public void onReceive(Context context,Intent intent) { String action = intent.getAction();if(action.equals(SDKInitializer.SDK_BROADCAST_ACTION_STRING_NETWORK_ERROR)) {// 网络出错,相应处理 } } }
第二步、注册广播**者;
IntentFilteriFilter = new IntentFilter();iFilter.addAction(SDKInitializer.SDK_BROADTCAST_ACTION_STRING_PERMISSION_CHECK_ERROR);iFilter.addAction(SDKInitializer.SDK_BROADCAST_ACTION_STRING_NETWORK_ERROR);mReceiver = new SDKReceiver(); registerReceiver(mReceiver, iFilter);
第三步、不使用地图SDK时,取消广播**;
unregisterReceiver(mReceiver);
地图事件**
百度地图支持各种事件**,提供了相应的事件**方法,具体**接口如下:
地图状态改变相关接口:
OnMapStatusChangeListenerlistener = new OnMapStatusChangeListener() { /** * 手势操作地图,设置地图状态等操作导致地图状态开始改变。 * @param status 地图状态改变开始时的地图状态 */ public void onMapStatusChangeStart(MapStatus status){ } /** * 地图状态变化中 * @param status 当前地图状态 */ public voidonMapStatusChange(MapStatus status){ } /** * 地图状态改变结束 *@param status 地图状态改变结束后的地图状态 */ public voidonMapStatusChangeFinish(MapStatus status){ } };
地图单击事件**接口:
OnMapClickListenerlistener = new OnMapClickListener() { /** * 地图单击事件回调函数 * @param point 点击的地理坐标 */ public voidonMapClick(LatLng point){ } /** * 地图内 Poi 单击事件回调函数 * @param poi 点击的 poi 信息 */ public boolean onMapPoiClick(MapPoi poi){ } };
地图加载完成回调接口:
OnMapLoadedCallbackcallback = new OnMapLoadedCallback() { /** * 地图加载完成回调函数 */ public void onMapLoaded(){ } };
地图双击事件**接口:
OnMapDoubleClickListenerlistener = new OnMapDoubleClickListener() { /** * 地图双击事件**回调函数 * @param point 双击的地理坐标 */ public void onMapDoubleClick(LatLng point){ } };
地图长按事件**接口:
OnMapLongClickListenerlistener = new OnMapLongClickListener() { /** * 地图长按事件**回调函数 * @param point 长按的地理坐标 */ public voidonMapLongClick(LatLng point){ } };
地图 Marker 覆盖物点击事件**接口:
OnMarkerClickListenerlistener = new OnMarkerClickListener() { /** * 地图 Marker 覆盖物点击事件**函数 * @param marker 被点击的 marker */ public boolean onMarkerClick(Marker marker){ } };
地图定位图标点击事件**接口:
OnMyLocationClickListenerlistener = new OnMyLocationClickListener() { /** * 地图定位图标点击事件**函数 */ public boolean onMyLocationClick(){ }};
地图截屏回调接口:
SnapshotReadyCallbackcallback = new SnapshotReadyCallback() { /** * 地图截屏回调接口 * @param snapshot 截屏返回的 bitmap 数据 */ public void **napshotReady(Bitmap snapshot){ } };
触摸地图回调接口:
mBaiduMap.setOnMapTouchListener(newOnMapTouchListener() { /** * 当用户触摸地图时回调函数* @param event 触摸事件 */ public void onTouch(MotionEventevent) { } });


作者: steven    时间: 2016-9-28 11:23
**是什么呀?
作者: jayden    时间: 2016-9-28 11:40
这啥标题?
作者: liuwei    时间: 2016-9-28 11:41
jayden 发表于 2016-9-28 11:40
这啥标题?

**  (jian ting)
作者: sara    时间: 2016-9-28 11:43
是因为社区添加了词语过滤的原因,这个词汇有点敏感
作者: creass    时间: 2016-9-28 11:47
jian ting  中文是啥?如果过滤的话,可以作为附件传上来,不然大家看不懂啊
作者: steven    时间: 2016-9-28 11:52
是这个:监|听
作者: liuwei    时间: 2016-9-28 12:16
由于文字和谐 现已添加文本附件




欢迎光临 SuperIC社区_ (/) Powered by Discuz! X3.3