安卓marker是什么意思设置draggable为true,为什么不能拖动

:应用程序包名+数字签名
As查看数字签名:cmd-------------- debug.keystore------密钥口令是android
其中keytool为jdk自带工具;keystorefile为Android 签名证书文件
&Eclipse查看数字签名:windows -& preferance -&android -& build
配置环境及发布
Android Studio工程配置方法
在工程app/libs目录下放入baidumapapi_vX_X_X.jar包
在src/main/目录下新建jniLibs目录
1.1&&&&Hello BaiduMap
&?xml version=&1.0&
encoding=&utf-8&?&
&RelativeLayout xmlns:android=&/apk/res/android&
&&& xmlns:tools=&/tools&
&&& android:layout_width=&match_parent&
&&& android:layout_height=&match_parent&
&&& tools:context=&com.xys.baidumapapplication.MainActivity&&
&&& &com.baidu.mapapi.map.MapView
&&&& &&&android:id=&@+id/bmapView&
&&&&&&& android:layout_width=&fill_parent&
&&&&&&& android:layout_height=&fill_parent&
&&&&&&& android:clickable=&true&/&
&/RelativeLayout&
权限配置:
&?xml version=&1.0&
encoding=&utf-8&?&
&manifest xmlns:android=&/apk/res/android&
&&& package=&com.xys.baidumapapplication&&
&&& &uses-permission android:name=&com.android.launcher.permission.READ_SETTINGS&/&
&&& &!-- 这个权限用于进行网络定位
&&& &uses-permissionandroid:name=&android.permission.ACCESS_COARSE_LOCATION&/&
&&& &!-- 这个权限用于访问GPS定位
&&& &uses-permissionandroid:name=&android.permission.ACCESS_FINE_LOCATION&/&
&&& &!-- 用于访问wifi网络信息,wifi信息会用于进行网络定位
&&& &uses-permissionandroid:name=&android.permission.ACCESS_WIFI_STATE&/&
&&& &!-- 获取运营商信息,用于支持提供运营商信息相关的接口
&&& &uses-permissionandroid:name=&android.permission.ACCESS_NETWORK_STATE&/&
&&& &!-- 用于读取手机当前的状态
&&& &uses-permissionandroid:name=&android.permission.READ_PHONE_STATE&/&
&&& &!-- 写入扩展存储,向扩展卡写入数据,用于写入离线定位数据
&&& &uses-permissionandroid:name=&android.permission.WRITE_EXTERNAL_STORAGE&/&
&&& &uses-permission android:name=&android.permission.MOUNT_UNMOUNT_FILESYSTEMS&/&
&&& &!-- 访问网络,网络定位需要上网
&&&&uses-permission android:name=&android.permission.INTERNET&/&
&&& &uses-permission android:name=&android.permission.GET_TASKS&/&
&&& &application
&&&&&&& android:allowBackup=&true&
&&&&&&& android:icon=&@mipmap/ic_launcher&
&&&&&&& android:label=&@string/app_name&
&&&&&&& android:supportsRtl=&true&
&&&&&&& android:theme=&@style/AppTheme&&
&&&&&&& &!-- 添加百度开发密钥
&&&&&&& &meta-data
&&&&&&&&&&& android:name=&com.baidu.lbsapi.API_KEY&
&&&&&&&&&&& android:value=&wNQzIKaz9u7QQ6p734TfshyNFpaDl4gM&/&
&&&&&&& &activity android:name=&.PointSearchActivity&&
&&&&&&&&&&& &intent-filter&
&&&&&&&&&&&&&&& &action android:name=&android.intent.action.MAIN&/&
&&&&&&&&&&&&&&& &category android:name=&android.intent.category.LAUNCHER&/&
&&&&&&&&&&& &/intent-filter&
&&&&&&& &/activity&
&&&&&&& &!--
&&&& 添加用于实现定位的服务
&&&&&&& &service
&&&&&&&&&&& android:name=&com.baidu.location.f&
&&&&&&&&&&& android:enabled=&true&
&&&&&&&&&&& android:process=&:remote&&
&&&&&&& &/service&&!-- ATTENTION:This was auto-generated to add Google Play services to your project for
&&&& App Indexing.& See https://g.co/AppIndexing/AndroidStudiofor more information. --&
&&&&&&& &meta-data
&&&&&&&&&&& android:name=&com.google.android.gms.version&
&&&&&&&&&&& android:value=&@integer/google_play_services_version&/&
&&& &/application&
&/manifest&
示例代码:
public class
MainActivity extends
Activity {
&&& * 显示基础地图,并提供key是否正确的验证
&&& MapView mMapView
&&& private BroadcastReceivermReceiver;
&&& private BaiduMap mBaiduMap;
&&& @Override
&&& protected void onCreate(BundlesavedInstanceState) {
&&&&&&& super.onCreate(savedInstanceState);
&&&&&&& //在使用SDK各组件之前初始化context信息,传入ApplicationContext
&&&&&&& //注意该方法要再setContentView方法之前实现
&&&&&&& SDKInitializer.initialize(getApplicationContext());
&&&&&&& setContentView(R.layout.activity_main);
&&&&&&& //获取地图控件引用
&&&&&&& mMapView = (MapView)findViewById(R.id.bmapView);
&&&&&&& //注册SDK广播监听者
&&&&&&& IntentFilteriFilter = new
IntentFilter();
&&&&&&& iFilter.addAction(SDKInitializer.SDK_BROADTCAST_ACTION_STRING_PERMISSION_CHECK_OK);&
&& &&&&&iFilter.addAction(SDKInitializer.SDK_BROADTCAST_ACTION_STRING_PERMISSION_CHECK_ERROR);//key验证出错
&&&&&&& iFilter.addAction(SDKInitializer.SDK_BROADCAST_ACTION_STRING_NETWORK_ERROR);//网络出错
&&&&&&& mReceiver =
new SDKReceiver();
&&&&&&& registerReceiver(mReceiver,
&&&&&&& //可以通过以下几种方式实现地图特殊显示
&&&&&&& mBaiduMap =
mMapView.getMap();
&&&&&&& //卫星地图
&&&&&&& //mBaiduMap.setMapType(BaiduMap.MAP_TYPE_SATELLITE);
&&&&&&& //普通地图
&&&&&&& mBaiduMap.setMapType(BaiduMap.MAP_TYPE_NORMAL);
&&&&&&& //空白地图,
基础地图瓦片将不会被渲染。在地图类型中设置为NONE,将不会使用流量下载基础地图瓦片图层。使用场景:与瓦片图层一起使用,节省流量,提升自定义瓦片图下载速度。
&&&&&&& //mBaiduMap.setMapType(BaiduMap.MAP_TYPE_NONE);
&&&&&&& //2.开启交通图
&&&&&&& //mBaiduMap.setTrafficEnabled(true);
&&&&&&& //3.开启百度城市热力图
&&&&&& //mBaiduMap.setBaiduHeatMapEnabled(true);
&&&&&&& //4、定义Maker坐标点,LatLng经纬度封装类
&&&&&&& /**
&&&&&&&& * 构造方法参数
&&&&&&&& * 1、纬度
&&&&&&&& * 2、经度
&&&&&&&& */
&&&&&&& LatLng point = new
LatLng(31.384289,
121.497907);
&&&&&&& //构建Marker图标
&&&&&&& BitmapDescriptorbitmap = BitmapDescriptorFactory
&&&&&&&&&&&&&&& .fromResource(R.mipmap.icon_marka);
&&&&&&& //构建MarkerOption,用于在地图上添加Marker
&&&&&&& OverlayOptionsoption = new
MarkerOptions()
&&&&&&&&&&&&&&& .position(point)
&&&&&&&&&&&&&&& .icon(bitmap)
&&&&&&&&&&&&&&& .draggable(true);//设置手势拖拽
&&&&&&& //在地图上添加Marker,并显示,参数代表图层对象
&&&&&&& mBaiduMap.addOverlay(option);
&&&&&&& //设置让地图的中心点移动到某位置
&&&&&&& MapStatus.Buildermb = new
MapStatus.Builder();
&&&&&&& mb.target(point);
&&&&&&& mBaiduMap.animateMapStatus(MapStatusUpdateFactory.newMapStatus(mb.build()));
&&& @Override
&&& protected void onDestroy() {
&&&&&&& super.onDestroy();
&&&&&&& //在activity执行onDestroy时执行mMapView.onDestroy(),实现地图生命周期管理
&&&&&&& mMapView.onDestroy();
&&& @Override
&&& protected void onResume() {
&&&&&&& super.onResume();
&&&&&&& //在activity执行onResume时执行mMapView.
onResume (),实现地图生命周期管理
&&&&&&& mMapView.onResume();
&&& @Override
&&& protected void onPause() {
&&&&&&& super.onPause();
&&&&&&& //在activity执行onPause时执行mMapView.
onPause (),实现地图生命周期管理
&&&&&&& mMapView.onPause();
&&&& * 构造广播监听类,监听 SDK key
验证以及网络异常广播
&&& public class SDKReceiver
extends BroadcastReceiver{
&&&&&&& public void onReceive(Context context,
Intent intent) {
&&&&&&&&&&& String s = intent.getAction();
&&&&&&&&&& &Log.d(&&,
&action:& + s);
&&&&&&&&&&& if (s.equals(SDKInitializer.SDK_BROADTCAST_ACTION_STRING_PERMISSION_CHECK_ERROR)) {
&&&&&&&&&&&&&&& Toast.makeText(MainActivity.this,
&key 验证出错!
请在 AndroidManifest.xml
文件中检查 key
Toast.LENGTH_SHORT).show();
&&& &&&&&&&&} else if
&&&&&&&&&&&&&&&&&&&.equals(SDKInitializer.SDK_BROADTCAST_ACTION_STRING_PERMISSION_CHECK_OK)) {
&&&&&&&&&&&&&&& Toast.makeText(MainActivity.this,
&key 验证成功!
功能可以正常使用&,
Toast.LENGTH_SHORT).show();
&&&&&&&&&&& } else if
&&&&&&&&&&& &&&&&&&&.equals(SDKInitializer.SDK_BROADCAST_ACTION_STRING_NETWORK_ERROR)) {
&&&&&&&&&&&&&&& Toast.makeText(MainActivity.this,
&网络出错&,
Toast.LENGTH_SHORT).show();
&&&&&&&&&&& }
1.2&&&&基础地图
1、地图图层
&&&&&&&& 什么是地图图层?
&&&&&&&&&&&&&&&&&& 地图可以包含一个或多个图层,每个图层在每个级别都是由若干个图块组成的,它们覆盖了地图的整个表面。
&&&&&&&&&&&&&&&&&& 例如您所看到包括街道、兴趣点、学校、公园等内容的地图展现就是一个图层。
&&&&&&&&&&&&&&&&&& 目前百度地图SDK所提供的地图等级为3-19级,所包含的信息有建筑物、道路、河流、学校、公园等内容。
&&&&&&&& 地图覆盖物
&&&&&&&&&&&&&&&&&& 所有叠加或覆盖到地图的内容,我们统称为地图覆盖物
&&&&&&&&&&&&&&&&&& 如标注、矢量图形元素(包括:折线、多边形和圆等)、定位图标等。
&&&&&&&&&&&&&&&&&& 覆盖物拥有自己的地理坐标,当您拖动或缩放地图时,它们会相应的移动。
&&&&&&&& 覆盖物按从下到上层次覆盖关系
&&&&&&&&&&&&&&&&&& 1、基础底图(包括底图、底图道路、卫星图等)
&&&&&&&&&&&&&&&&&& 2、地形图图层(GroundOverlay)
&&&&&&&&&&&&&&&&&& 3、热力图图层(HeatMap)
&&&&&&&&&&&&&&&&&& 4、实时路况图图层(BaiduMap.setTrafficEnabled(true);)
&&&&&&&&&&&&&&&&&& 5、百度城市热力图(BaiduMap.setBaiduHeatMapEnabled(true);)
&&&&&&&&&&&&&&&&&& 6、底图标注(指的是底图上面自带的那些POI元素)
&&&&&&&&&&&&&&&&&& 7、几何图形图层(点、折线、弧线、圆、多边形)
&&&&&&&&&&&&&&&&&& 8、标注图层(Marker),文字绘制图层(Text)
&&&&&&&&&&&&&&&&&& 9、指南针图层(当地图发生旋转和视角变化时,默认出现在左上角的指南针)
&&&&&&&&&&&&&&&&&& 10、定位图层(BaiduMap.setMyLocationEnabled(true);)
&&&&&&&&&&&&&&&&&& 11、弹出窗图层(InfoWindow)
&&&&&&&&&&&&&&&&&& 12、自定义View(MapView.addView(View);)
2、地图类型
&&&&&&&& 普通矢量地图
&&&&&&&&&&&&&&&&&& mBaiduMap.setMapType(BaiduMap.MAP_TYPE_NORMAL);
&&&&&&&& 卫星地图
&&&&&&&&&&&&&&&&&& mBaiduMap.setMapType(BaiduMap.MAP_TYPE_SATELLITE);
&&&&&&&& 实时交通图
&&&&&&&&&&&&&&&&&& 当前,全国范围内已支持多个城市实时路况查询,且会陆续开通其他城市。
&&&&&&&&&&&&&&&&&& 开启交通图:mBaiduMap.setTrafficEnabled(true);
&&&&&&&& 开发者可根据自己实际的业务需求,利用标注覆盖物,在地图指定的位置上添加标注信息。
&&&&&&&& 本地覆盖物
&&&&&&&&&&&&&&&&&& 本地覆盖物的抽象基类:OverlayOptions
&&&&&&&&&&&&&&&&&& 标注覆盖物(Marker)
&&&&&&&&&&&&&&&&&&&&&&&&&&& 使用步骤
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 定义Marker坐标点
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& LatLngpoint = new LatLng(39.6.400244);
&&&&&&&& &&&&&&&&&&&&&&&&&&&&&&&&&&& 构建Marker图标
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& BitmapDescriptorbitmap = BitmapDescriptorFactory.fromResource(R.drawable.icon_marka);
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 不用时及时 recycle回收资源 :bitmap.recycle();
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 构建MarkerOption,用于在地图上添加Marker
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& OverlayOptionsoption = new MarkerOptions()&
&&&&&&&&&&&&&&&&&& .position(point)// Marker的位置
&&&&&&&&&&&&&&&&&& .icon(bitmap);& // Marker的图标
&&&&&&&&&&&&&&&&&& .zIndex(9)& // 设置marker所在层级
&&&&&&&&&&&&&&&&&& .draggable(true);& // 设置手势拖拽
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 在地图上添加Marker,并显示
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& mBaiduMap.addOverlay(option);
&&&&&&&&&&&&&&&&&&&&&&&&&&& 设置Marker的点击事件
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& mBaiduMap.setOnMarkerClickListener(OnMarkerClickListener)
&&&&&&&&&&&&&&&&&&&&&&&&&&& 手势拖拽的标注
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 设置可拖拽
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& OverlayOptionsoptions = new MarkerOptions()
&&&&&&&&&&&&&&&&&& .position(pointA)& //设置marker的位置
&&&&&&&&&&&&&&&&&& .icon(bdA)& //设置marker图标
&&&&&&&&&&&&&&&&&& .zIndex(9)& //设置marker所在层级(默认:12)
&&&&&&&&&&&&&&&&&& .draggable(true);& //设置手势拖拽
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 将Marker添加到地图上
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& marker= (Marker) (mBaiduMap.addOverlay(options));
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 设置marker拖拽的监听
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& BaiduMap.setOnMarkerDragListener(OnMarkerDragListener)
&&&&&&&&&&&&&&&&&&&&&&&&&&& 动画效果的Marker
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 注:自v3.3.0版本起,SDK提供了给Marker增加动画的能力
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 实例化ArrayList&BitmapDescriptor&,增加动画相关的图片资源
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 通过MarkerOptions的icons设置动画的一组图片资源,再通过period设置多少帧刷新一次图片资源
&&&&&&&&&&&&&&&&&& 几何图形覆盖物
&&&&&&&&&&&&&&&&&&&&&&&&&&& 点(Dot): DotOptions
&&&&&&&&&&&&&&&&&&&&&&&&&&& 折线(Polyline):PolylineOptions
&&&&&&&&&&&&&&&&&&&&&&&&&&& 弧线(Arc):ArcOptions
&&&&&&&&&&&&&&&&&&&&&&&&&&& 圆(Circle):CircleOptions
&&&&&&&&&&&&&&&&&&&&&&&&&&& 多边形(Polygon):PolygonOptions
&&&&&&&&&&&&&&&&&& 文字覆盖物:TextOptions
&&&&&&&&&&&&&&&&&& 弹出窗覆盖物:InfoWindow
&&&&&&&&&&&&&&&&&& 地形图图层:GroundOverlay
&&&&&&&& 搜索覆盖物
&&&&&&&&&&&&&&&&&& 显示和管理多个Overlay的基类:OverlayManager
&&&&&&&&&&&&&&&&&& POI本地搜索覆盖物:PoiOverlay
&&&&&&&&&&&&&&&&&& 公交信息覆盖物:BusLineOverlay
&&&&&&&&&&&&&&&&&& 换乘线路覆盖物:TransitRouteOverlay
&&&&&&&&&&&&&&&&&& 驾车路线覆盖物:DrivingRouteOverlay
&&&&&&&&&&&&&&&&&& 步行路线覆盖物:WalkingRouteOverlay
1.3&&&&POI检索---兴趣点搜索
&&&&&&&& POI(Point ofInterest),中文可以翻译为“兴趣点”。在地理信息系统中,一个POI可以是一栋房子、一个商铺、一个邮筒、一个公交站等。
&&&&&&&& 百度地图SDK提供三种类型的POI检索
&&&&&&&&&&&&&&&&&& 周边检索
&&&&&&&&&&&&&&&&&& 区域检索
&&&&&&&&&&&&&&&&&& 城市内检索
importcom.xys.utlis.PoiOverlay;
import java.util.List;
&* Created by xuyangsheng on .
public class PointSearchActivity
extends Activity {
& * 实现兴趣点检索的功能
& * 如:搜索上海内所有KFC
& * 或者自身周边10000米范围内的KFC
& * 并且将搜索结果显示到MapView上
&&&private MapView
&&& private BaiduMap mBaiduMap;
&&& private PoiSearch mPoiSearch;
&&& @Override
&&& protected void onCreate(BundlesavedInstanceState) {
&&&&&&& super.onCreate(savedInstanceState);
&&&&&&& //在使用SDK各组件之前初始化context信息,传入ApplicationContext
&&&&&&& //注意该方法要再setContentView方法之前实现
&&&&&&& SDKInitializer.initialize(getApplicationContext());
&&&&&&& setContentView(R.layout.activity_search);
&&&&&&& mMapView = (MapView)this.findViewById(R.id.mapView);
&&&&&&& Log.i(&===&,&=====onCreate mapView&+mMapView);
&&&&&&& mBaiduMap =
mMapView.getMap();
&&&&&&& //第一步,创建POI检索实例
&&&&&&& mPoiSearch = PoiSearch.newInstance();
&&&&&&& //第二步,设置POI检索监听者
&&&&&&& mPoiSearch.setOnGetPoiSearchResultListener(new
OnGetPoiSearchResultListener(){
&&&&&&&&&&& /***
&&&&&&&&&&&& * 当调用searchInCity,searchNearby,seachInBound方法
&&&&&&&&&&&& * 得到搜索结果之后调用的方法
&&&&&&&&&&&& * @param poiResult&&
参数代表搜索的结果
&&&&&&&&&&&& */
&&&&&&&&&&& @Override
&&&&&&&&&&& public void onGetPoiResult(PoiResultpoiResult) {
&&&&&&&&&&&&&&& //满足if条件时,代表地图成功搜索出结果
&&&&&&&&&&&&&&& if(poiResult.error
==SearchResult.ERRORNO.NO_ERROR){
&&&&&&&&&&&&&&&&&&& //将搜索结果输出
&&&&&&&&&&&&&&&&&&& Log.i(&===&,&======上海市共有的KFC的个数为:&+poiResult.getTotalPoiNum());
&&&&&&&&&&&&&&&&&&& List&PoiInfo&list = poiResult.getAllPoi();
&&&&&&&&&&&&&&&&&&& for (PoiInfo pi : list) {
&&& Log.i(&====&, &===该poi点的地址信息为:& + pi.address + && & + pi.name);
&&&&&&&&&&&&&&&&&&& //将搜索结果显示到地图上
&&&&&&&&&&&&&&&&&&& //清除地图上显示的内容
&&&&&&&&&&&&&&&&&&& mBaiduMap.clear();
&&&&&&&&&&&&&&&&&&& //创建PoiOverlay,即显示搜索结果的图层
&&&&&&&&&&&&&&&&&&& /*
&&&&&&&&&&&&&&&&&&& * 注:如果后期需要设置poi点的点击事件,那么就需要通过new
&&&&&&&&&&&&&&&&&&& * 子类的方式获取PoiOverlay对象
&&&&&&&&&&&&&&&&&&& * 如果后期不需要设置poi点的点击事件,那么也可以直接
&&&&&&&&&&&&&&&&&&& * new PoiOverlay对象
&&&&&&&&&&&&&&&&&&& * */
&&&&&&&&&&&&&&&&&&& PoiOverlay overlay = new MyPointOverlay(mBaiduMap);
&&&&&&&&&&&&&&&&&&& //设置overlay可以处理标注点击事件
&&&&&&&&&&&&&&&&&&& mBaiduMap.setOnMarkerClickListener(overlay);
&&&&&&&&&&&&&&&&&&& //设置PoiOverlay数据
&&&&&&&&&&&&&&&&&&& overlay.setData(poiResult);
&&&&&&&&&&&& &&&&&&&//添加PoiOverlay到地图中
&&&&&&&&&&&&&&&&&&& overlay.addToMap();
&&&&&&&&&&&&&&&&&&& //让地图自动缩放,满足让所有的结果点都显示到屏幕上
&&&&&&&&&&&&&&&&&&& overlay.zoomToSpan();
&&&&&&&&&&&&&&& }
&&&&&&&&&&& }
&&&&&&&&&&& //当通过searchPoiDetail方法查询指定poi点的详细信息,得到结果后运行此方法
&&&&&&&& &&&@Override
&&&&&&&&&&& public void onGetPoiDetailResult(PoiDetailResult poiDetailResult) {
&&&&&&&&&&&&&&& Log.i(&===&,&======& poi 的名称和营业时间: &+poiDetailResult.getName()+&& &+poiDetailResult.getShopHours());
&&&&&&&&&&& }
&&&&&&& });
&&&&&&& MapStatus.Builder mb = new MapStatus.Builder();
&&&&&&& mb.target(new LatLng(31.384289,121.497907));
&&&&&&& mBaiduMap.animateMapStatus(MapStatusUpdateFactory.newMapStatus(mb.build()));
&&&& * 处理按钮点击事件
&&& public void click(View v){
&&&&&&& switch (v.getId()) {
&&&&&&&&&&& case R.id.button:
&&&&&&&&&&&&&&& //第三步,发起检索请求
&&&&&&&&&&&&&&& mPoiSearch.searchInCity(new PoiCitySearchOption()
&&&&&&&&&&&&&&&&&&&&&&& .city(&上海&)& //设置在哪个城市范围内进行搜索
&&&&&&&&&&&&&&&&&&&&&&& .keyword(&KFC&)&& //设置搜索关键字
&&&&& &&&&&&&&&&&&&&&&&&.pageCapacity(8)&&& //设置每页容量,默认为每页10条
&&&&&&&&&&&&&&&&&&&&&&& .pageNum(10)&& //分页编号
&&&&&&&&&&&&&&& );
&&&&&&&&&&&&&&&
&&&&&&&&&&& case R.id.button2:
&&&&&&&&&&&&&&& mPoiSearch.searchNearby(new PoiNearbySearchOption()
&&&&&&&&&&&& &&&&&&&&&&&.keyword(&兰州拉面&)& //搜索关键字
&&&&&&&&&&&&&&&&&&&&&&& .location(new LatLng(31.384289,121.497907))&& //设置搜索的中心点
&&&&&&&&&&&&&&&&&&&&&&& .radius(10000)&& //设置搜索半径
&&&&&&&&&&&&&&& );
&&&&&&&&&&&&&&&
&&&& * 创建一个用于显示搜索结果的图层的子类
&&& private class MyPointOverlay extends PoiOverlay{
&&&&&&& public MyPointOverlay(BaiduMap baiduMap){
&&&&&&&&&&&&&&& super(baiduMap);
&&&&&&& //当poi点被点击时运行的方法
&&&&&&& @Override
&&&&&&& public boolean onPoiClick(int index) {
&&&&& &&&&&&super.onPoiClick(index);
&&&&&&&&&&& PoiInfo poiInfo = getPoiResult().getAllPoi().get(index);
&&&&&&&&&&& //可以通过方法搜索指定poi点的详细信息
&&&&&&&&&&& mPoiSearch.searchPoiDetail(new PoiDetailSearchOption().poiUid(poiInfo.uid));
&&&&&&&&&&&
&&& @Override
&&& protected void onDestroy() {
&&&&&&& super.onDestroy();
&&&&&&& //在activity执行onDestroy时执行mMapView.onDestroy(),实现地图生命周期管理
&&&&&&& mMapView.onDestroy();
&&& @Override
&&& protected void onResume() {
&&&&&&& super.onResume();
&&&&&&& //在activity执行onResume时执行mMapView. onResume (),实现地图生命周期管理
&&&&&&& mMapView.onResume();
&&& @Override
&&& protected void onPause() {
&&&&&&& super.onPause();
&&&&&&& //在activity执行onPause时执行mMapView. onPause (),实现地图生命周期管理
&&&&&&& mMapView.onPause();
1.4&&&&路径规划
&* Created by xuyangsheng on .
&* 用于实现地图的路径规划功能
public class RoutePlanActivity
extends Activity {
&&& private MapView
&&& BaiduMap mBaiduMap;
&&& //用于进行路径规划的检索类
&&& private RoutePlanSearch
&&&private WalkingRouteResult walkingRouteResult;
&&& @Override
&&& protected void onCreate(BundlesavedInstanceState) {
&&&&&&& super.onCreate(savedInstanceState);
&&&&&&& //在使用SDK各组件之前初始化context信息,传入ApplicationContext
&&&&&&& //注意该方法要再setContentView方法之前实现
&&&&&&& SDKInitializer.initialize(getApplicationContext());
&&&&&&& setContentView(R.layout.activity_route);
&&&&&&& mMapView = (MapView)findViewById(R.id.bmapViewa);
&&&&&&& mBaiduMap =
mMapView.getMap();
&&&&&&& LatLng point = new
LatLng(31.384289,
121.497907);
&&&&&&& //构建Marker图标
&&&&&&& BitmapDescriptorbitmap = BitmapDescriptorFactory
&&&&&&&&&&&&&&& .fromResource(R.mipmap.icon_marka);
&&&&&&& //构建MarkerOption,用于在地图上添加Marker
&&&&&&& OverlayOptionsoption = new
MarkerOptions()
&&&&&&&&&&&&&&& .position(point)
&&&&&&&&&&&&&&& .icon(bitmap)
&&&&&&&&&&&&&&& .draggable(true);//设置手势拖拽
&&&&&&& //在地图上添加Marker,并显示,参数代表图层对象
&&&&&&& mBaiduMap.addOverlay(option);
&&&&&&& //将地图中心移动到宝山区
&&&&&&& final MapStatus.Buildermb =
new MapStatus.Builder();
&&&&&&& mb.target(point);
&&&&&&& mBaiduMap.animateMapStatus(MapStatusUpdateFactory.newMapStatus(mb.build()));
&&&&&&& //1.创建公交线路规划检索实例
&&&&&&& mSearch =RoutePlanSearch.newInstance();
&&&&&&& //2.设置公交线路规划检索监听者
&&&&&&& mSearch.setOnGetRoutePlanResultListener(new
OnGetRoutePlanResultListener(){
&&&&&&&&&&& //当得到步行路线时运行此方法
&&&&&&&&&&& @Override
&&&&&&&&&&& public void onGetWalkingRouteResult(WalkingRouteResultwalkingRouteResult) {
&&&&&&&&&&&&&&& Log.i(&===&,
&====& getwalking & +walkingRouteResult.error);
&&&&&& &&&&&&&&&if (walkingRouteResult.error
==SearchResult.ERRORNO.NO_ERROR) {
&&&&&&&&&&&&&&&&&&& Log.i(&===&,
&===本次步行的总距离和预计总时长为:&
+walkingRouteResult.getRouteLines().get(0).getDistance()+
&& & +walkingRouteResult.getRouteLines().get(0).getDuration());
& &&&&&&&&&&&&&&&&&&RoutePlanActivity.this.walkingRouteResult= walkingRouteResult;
&&&&&&&&&&&&&&&&&&& /*
&&&&&&&&&&&&&&&&&&& * 获取第一种步行路线
&&&&&&&&&&&&&&&&&&& * */
&&&&&&&&&&&&&&&&&&& WalkingRouteLineline = walkingRouteResult.getRouteLines().get(0);
&&&&&& &&&&&&&&&&&&&//获取该种步行方式的所有行进路段
&&&&&&&&&&&&&&&&&&& List&WalkingRouteLine.WalkingStep&steps = line.getAllStep();
&&&&&&&&&&&&&&&&&&& for (WalkingRouteLine.WalkingStepstep : steps) {
&&&&&&&&&&&&&&&&&&&&&&& //获取路段整体指示信息
&&&&&&&&&&&&&&&&&&&&&&& Log.i(&====&,
&=====& & +step.getInstructions());
&&&&&&&&&&&&&&&&&&& }
&&&&&&&&&&&&&&&&&&& mBaiduMap.clear();
&&&&&&&&&&&&&&&&&&& WalkingRouteOverlayoverlay =
new MyWalking(mBaiduMap);
&&&&&&&&&&&&&&&&&&& mBaiduMap.setOnMarkerClickListener(overlay);
&&&&&&&&&&&&& &&&&&&overlay.setData(walkingRouteResult.getRouteLines().get(0));
&&&&&&&&&&&&&&&&&&& overlay.addToMap();
&&&&&&&&&&&&&&&&&&& overlay.zoomToSpan();
&&&&&&&&&&&&&&& }
&&&&&&&&&&& }
&&&&&&&&&&& //当获得公交路线时运行的方法
&&&&&&&&&&& @Override
&&&&&&&&&&& public void onGetTransitRouteResult(TransitRouteResulttransitRouteResult) {
&&&&&&&&&&&&&&& if (transitRouteResult.error
==SearchResult.ERRORNO.NO_ERROR) {
&&&&&&&&&&&&&&&&&&& Log.i(&===&,
&===本次步行的总距离和预计总时长为:&
+transitRouteResult.getRouteLines().get(0).getDistance()+
&& & +transitRouteResult.getRouteLines().get(0).getDuration());
&&&&&&&&&&&&&&&&&&& TransitRouteLineline = transitRouteResult.getRouteLines().get(0);
&&&&&&&&&&&&&&&&&&& List&TransitRouteLine.TransitStep&steps = line.getAllStep();
&&&&&&&&&&&&&&&&&&& for (TransitRouteLine.TransitStepstep : steps) {
&&&&&&&&&&&&&&&&&&&&&&& //获取路段整体指示信息
&&&&&&&&&&&&&&&&&&&&&&& Log.i(&====&,
&=====& & +step.getInstructions());
&&&&&&&&&&&&&&&&&&& }
&&&&&& &&&&&&&&&&&&&mBaiduMap.clear();
&&&&&&&&&&&&&&&&&&& TransitRouteOverlayoverlay =
new MyTransit(mBaiduMap);
&&&&&&&&&&&&&&&&&&& mBaiduMap.setOnMarkerClickListener(overlay);
&&&&&&&&&&&&&&&&&&& overlay.setData(transitRouteResult.getRouteLines().get(0));
& &&&&&&&&&&&&&&&&&&overlay.addToMap();
&&&&&&&&&&&&&&&&&&& overlay.zoomToSpan();
&&&&&&&&&&&&&&& }
&&&&&&&&&&& }
&&&&&&&&&&& //当获得驾车路线时运行的方法
&&&&&&&&&&& @Override
&&&&&&&&&&& public void onGetDrivingRouteResult(DrivingRouteResultdrivingRouteResult) {
&&&&&&&&&&&&&&& if (drivingRouteResult.error
==SearchResult.ERRORNO.NO_ERROR) {
&&&&&&&&&&&&&&&&&&& Log.i(&===&,
&===本次步行的总距离和预计总时长为:&
+drivingRouteResult.getRouteLines().get(0).getDistance()+
&& & +drivingRouteResult.getRouteLines().get(0).getDuration());
&&&&&&&&&&&&&&&&&&& /*
&&&&&&&&&&&&&&&&&&& * 获取第一种步行路线
&&&&&&&&&&&&&&&&&&& * */
&&&&&&&&&&&&&&&&&&& DrivingRouteLineline = drivingRouteResult.getRouteLines().get(0);
&&&&&&&&&&&&&&&&&&& //获取该种步行方式的所有行进路段
&&&&&&&&&&&&&&&&&&& List&DrivingRouteLine.DrivingStep&steps = line.getAllStep();
&&&&&&&&&&&&&&&&&&& for (DrivingRouteLine.DrivingStepstep : steps) {
&&&&&&&&&&&&&&&&&&&&&&& //获取路段整体指示信息
&&&&&&&&&&&&&&&&&&&&&&& Log.i(&====&,
&=====& & +step.getInstructions());
&&&&&&&&&&&&&&&&&&& }
&&&&&&&&&&&&&&&&&&& mBaiduMap.clear();
&&&&&&&&&&&&&&&&&&& DrivingRouteOverlayoverlay =
new MyDriving(mBaiduMap);
&&&&&&&&&&&&&&&&&&& mBaiduMap.setOnMarkerClickListener(overlay);
&&&&&&&&&&&&&&&&&&& overlay.setData(drivingRouteResult.getRouteLines().get(0));
&&&&&&&&&&&&&&&&&&& overlay.addToMap();
&&&&&&&&&&&&&&&&&&& overlay.zoomToSpan();
&&&&&&&&&&&&&&& }
&&&&&&&&&&& }
&&&&&&&&&&& //当获得骑行路线时运行的方法
&&&&&&&&&&& @Override
&&&&&&&&&&& public void onGetBikingRouteResult(BikingRouteResultbikingRouteResult) {
&&&&&&&&&&&&&&& if (bikingRouteResult.error
==SearchResult.ERRORNO.NO_ERROR) {
&&&&&&&&&&&&&&&&&&& Log.i(&===&,
&===本次步行的总距离和预计总时长为:&
+ bikingRouteResult.getRouteLines().get(0).getDistance()+
&& & +bikingRouteResult.getRouteLines().get(0).getDuration());
&&&&&&&&&&&&&&&&&&& /*
&&&&&&&&&&&&&&&&&&& * 获取第一种步行路线
&&&&&&&&&&&&&&&&&&& * */
&&&&&&&&&&&&&&&&&&& BikingRouteLineline = bikingRouteResult.getRouteLines().get(0);
&&&&&&&&&&&&&&&&&&& //获取该种步行方式的所有行进路段
&&&&&&&&&&&&&&&&&&& List&BikingRouteLine.BikingStep&steps = line.getAllStep();
&&&&&&&&&&&&&&&&&&& for (BikingRouteLine.BikingStepstep : steps) {
&&&&&&&&&&&&&&&&&&&&&&& //获取路段整体指示信息
&&&&&&&&&&& &&&&&&&&&&&&Log.i(&====&,
&=====& & +step.getInstructions());
&&&&&&&&&&&&&&&&&&& }
&&&&&&&&&&&&&&&&&&& mBaiduMap.clear();
&&&&&&&&&&&&&&&&&&& BikingRouteOverlayoverlay =
new MyBiking(mBaiduMap);
&&&&&&&&&&&&&&&&&&& mBaiduMap.setOnMarkerClickListener(overlay);
&&&&&&&&&&&&&&&&&&& overlay.setData(bikingRouteResult.getRouteLines().get(0));
&&&&&&&&&&&&&&&&&&& overlay.addToMap();
&&&&&&&&&&&&&&&&&&& overlay.zoomToSpan();
&&&&&&&&&&&&&&& }
&&&&&&&&&&& }
&&&&&&& });
&&& public void click(View v) {
& &&&&&&//通过经纬度获取起点PlanNode对象
&&&&&&& PlanNode start =PlanNode.withLocation(new
LatLng(31.384289,
121.497907));
&&&&&&& //通过城市名称和地址名称获取PlanNode对象
&&&&&&& PlanNode end =PlanNode.withCityNameAndPlaceName(&上海&,
&虹口足球场地铁站&);
&&&&&&& switch (v.getId()) {
&&&&&&&&&&& case R.id.button3:&
&&&&&&&&&&&&&&& mSearch.transitSearch(new
TransitRoutePlanOption()
&&&&&&&&&&&&&&&&&&&&&&& .city(&上海&)&&
//设置城市信息
&&&&&&&&&&&&&&&&&&&&&&& .from(start)&&&&
//设置起点信息
&&&&&&&&&&&&&&&&&&&&&&& .to(end)&&&&&&
//设置终点信息
&&&&&&&&&&&&&&&&&&& &&&&.policy(TransitRoutePlanOption.TransitPolicy.EBUS_TIME_FIRST)&
//设置换成策略,如时间最短,步行最少等
&&&&&&&&&&&&&&& );
&&&&&&&&&&&&&&&
&&&&&&&&&&& case R.id.button4:&&&&&
&&&&&&&&&&&&&&& mSearch.drivingSearch(new
DrivingRoutePlanOption()
&&&&&&&&&&&&&&&& &&&&&&&.from(start)
&&&&&&&&&&&&&&&&&&&&&&& .to(end)
&&&&&&&&&&&&&&&&&&&&&&&.policy(DrivingRoutePlanOption.DrivingPolicy.ECAR_AVOID_JAM)&&
//设置驾车策略,如时间最少,避免拥堵等
&&&&&&&&&&&&&&&&&&&&&&& .trafficPolicy(DrivingRoutePlanOption.DrivingTrafficPolicy.ROUTE_PATH_AND_TRAFFIC)//设置是否支持路况数据
&&&&&&&&&&&&&&& );
&&&&&&&&&&&&&&&
&&&&&&&&&&& case R.id.button5:&&&&&
&&&&&&&&&&&&&&& mSearch.walkingSearch(new
WalkingRoutePlanOption()
&&&&&&&&&&&&&&&&&&&&&&& .from(start)& //设置起点
&&&&&&&&&&&&&&&&&&&&&&& .to(end));&
//设置终点
&&&&&&&&&&&&&&&
&&&&&&&&&&& case R.id.button6:&&&&&
&&&&&&&&&&&&&&& mSearch.bikingSearch(new
BikingRoutePlanOption()
&&&&&&&&&&&&&&&&&&&&&&& .from(start)
&&&&&&&&&&&&&&&&&&&&&&& .to(end)
&&&&&&&&&&&&&&& );
&&&&&&&&&&&&&&&
&&& //自定义步行图层的子类
&&& class MyWalking
extends WalkingRouteOverlay{
&&&&&&& public MyWalking(BaiduMapbaiduMap) {
&&&&&&&&&&& super(baiduMap);
&&&&&&& //通过返回值控制起点图标的显示
&&&&&&& @Override
&&&&&&& public BitmapDescriptorgetStartMarker() {
&&&&&&&&&&& return BitmapDescriptorFactory.fromResource(R.mipmap.icon_st);
&&&&&&& //通过返回值控制终点图标的显示
&&&&&&& @Override
&&&&&&& public BitmapDescriptorgetTerminalMarker() {
&&&&&&&&&&& return BitmapDescriptorFactory.fromResource(R.mipmap.icon_en);
&&&&&&& // 当路径中的节点被点击时运行的方法
&&&&&&& @Override
&&&&&&& public boolean onRouteNodeClick(int
&&&&&&&&&&& WalkingRouteLine.WalkingStepselect = walkingRouteResult.getRouteLines().get(0).getAllStep().get(i);
&&&&&&&&&&& Toast.makeText(RoutePlanActivity.this,
&--& +select.getInstructions(),
Toast.LENGTH_SHORT).show();
&&&&&&&&&&&
&&& class MyTransit
extends TransitRouteOverlay{
&&&&&&& /**
&&&&&&&& * 构造函数
&&&&&&&& *
&&&&&&&& * @param baiduMap
该TransitRouteOverlay引用的
BaiduMap 对象
&&&&&&&& */
&&&&&&& public MyTransit(BaiduMapbaiduMap) {
&&&&&&&&&&& super(baiduMap);
&&&&&&& //通过返回值控制起点图标的显示
&&&&&&& @Override
&&&&&&& public BitmapDescriptorgetStartMarker() {
&&&&&&&&&&& return BitmapDescriptorFactory.fromResource(R.mipmap.icon_st);
&&&&&&& //通过返回值控制终点图标的显示
&&&&&&& @Override
&&&&&&& public BitmapDescriptorgetTerminalMarker() {
&&&&&&&&&&& return BitmapDescriptorFactory.fromResource(R.mipmap.icon_en);
&&& class MyDriving
extends DrivingRouteOverlay{
&&&&&&& /**
&&&&&&&& * 构造函数
&&&&&&&& *
&&&&&&&& * @param baiduMap
该TransitRouteOverlay引用的
BaiduMap 对象
&&&&&&&& */
&&&&&&& public MyDriving(BaiduMapbaiduMap) {
&&&&&&&&&&& super(baiduMap);
&&&&&&& //通过返回值控制起点图标的显示
&&&&& &&@Override
&&&&&&& public BitmapDescriptorgetStartMarker() {
&&&&&&&&&&& return BitmapDescriptorFactory.fromResource(R.mipmap.icon_st);
&&&&&&& //通过返回值控制终点图标的显示
&&&&&&& @Override
&&&&&&& public BitmapDescriptorgetTerminalMarker() {
&&&&&&&&& &&return BitmapDescriptorFactory.fromResource(R.mipmap.icon_en);
&&& class MyBiking
extends BikingRouteOverlay{
&&&&&&& /**
&&&&&&&& * 构造函数
&&&&&&&& *
&&&&&&&& * @param baiduMap
该TransitRouteOverlay引用的
BaiduMap 对象
&&&&&&&& */
&&&&&&& public MyBiking(BaiduMapbaiduMap) {
&&&&&&&&&&& super(baiduMap);
&&&&&&& //通过返回值控制起点图标的显示
&&&&&&& @Override
&&&&&&& public BitmapDescriptorgetStartMarker() {
&&&&&&&&&&& return BitmapDescriptorFactory.fromResource(R.mipmap.icon_st);
&&& &&&&//通过返回值控制终点图标的显示
&&&&&&& @Override
&&&&&&& public BitmapDescriptorgetTerminalMarker() {
&&&&&&&&&&& return BitmapDescriptorFactory.fromResource(R.mipmap.icon_en);
&&& @Override
&&& protected void onDestroy() {
&&&&&&& super.onDestroy();
&&&&&&& //在activity执行onDestroy时执行mMapView.onDestroy(),实现地图生命周期管理
&&&&&&& mMapView.onDestroy();
&&& @Override
&&& protected void onResume() {
&&&&&&& super.onResume();
&&&&&&& //在activity执行onResume时执行mMapView.
onResume (),实现地图生命周期管理
&&&&&&& mMapView.onResume();
&&& @Override
&&& protected void onPause() {
&&&&&&& super.onPause();
&&&&&&& //在activity执行onPause时执行mMapView.
onPause (),实现地图生命周期管理
&&&&&&& mMapView.onPause();
1.5&&&&百度地图定位
&* Created by xuyangsheng on .
&* 实现地图的定位功能
public class LocationActivity
extends Activity {
&&& private MapView
&&& private BaiduMap mBaiduMap;
&&& private boolean isFirstLoc=
&&& private BitmapDescriptor mCurrentMarker;
&&& private LocationClient mLocationClient;
&&& @Override
&&& protected void onCreate(BundlesavedInstanceState) {
&&&&&&& super.onCreate(savedInstanceState);
&&&&&&& SDKInitializer.initialize(getApplicationContext());
&&&&&&& setContentView(R.layout.activity_location);
&&&&&&& mMapView = (MapView)
this.findViewById(R.id.l_bampView);
&&&&&&& mBaiduMap =
mMapView.getMap();
&&&&&&& //开启定位图层
&&&&&&& mBaiduMap.setMyLocationEnabled(true);
&&&&&&& mCurrentMarker =BitmapDescriptorFactory.fromResource(R.mipmap.icon_marka);
&&&&&&& mBaiduMap.setMyLocationConfigeration(new
MyLocationConfiguration(
&&&&&&&&&&&&&&&MyLocationConfiguration.LocationMode.COMPASS,true,mCurrentMarker
&&&&&&& ));
&&&&&&& //1、初始化LocationClient类
&&&&&&& mLocationClient =
new LocationClient(getApplicationContext());//声明LocationClient
&&&&&&& //2、注册定位的监听事件
&&&&&&& mLocationClient.registerLocationListener(new
BDLocationListener(){
&&&&&&&&&&& /**
&&&&&&&&&&&& *当获取得到定位结果时,就会运行此方法
&&&&&&&&&&&& * 参数代表当前定位到的位置信息
&&&&&&&&&&&& */
&&&&&&&&&&& @Override
&&&&&&&&&&& public void onReceiveLocation(BDLocationbdLocation) {
&&&&&&&&&&&&&&& Log.i(&===&,&=====当前定位到的经纬度为:&+bdLocation.getLongitude()+&
&+bdLocation.getLatitude());
&&&&&&&&&&&&&&& Log.i(&===&,&=====当前位置的地址信息为:&+bdLocation.getAddrStr()+&
&+bdLocation.getAddress());
&&&&&&&&&&&&&&& MyLocationData& locData =
new MyLocationData.Builder()
&&&&&&&&&&&&&&&&&&&&&&& .accuracy(bdLocation.getRadius())
&&&&&&&&&&&&&&&&&&&&&&& //此设置开发者获取到的方向信息,顺时针0-360
&&&&&&&&&&&&&&&&&&&&&&& .direction(100).latitude(bdLocation.getLatitude())
&&&&&&&&&&&&&&&&&&&&&&&.longitude(bdLocation.getLongitude()).build();
&&&&&&&&&&&&&&& mBaiduMap.setMyLocationData(locData);
&&&&&&&&&&&&&&& if(isFirstLoc){
&&&&&&&&&&&&&&&&&&& isFirstLoc =
&&&&&&&&&&&&&&&&&&& LatLng ll = new
LatLng(bdLocation.getLatitude(),
&&&&&&&&&&&&&&&&&&&&&&&&&&& bdLocation.getLongitude());
&&&&&&&&&&&&&&&&&&& MapStatus.Builderbuilder =
new MapStatus.Builder();
&&&&&&&&&&&&&&&&&&& builder.target(ll).zoom(18.0f);
&&&&&&&&&&&&&&&&&&& mBaiduMap.animateMapStatus(MapStatusUpdateFactory.newMapStatus(builder.build()));
&&&&&&&&&&&&&&& }
&&&&&&&&&&& }
&&&&&&& });
&&&&&&& //3、配置定位SDK参数
&&&&&&& initLocation();
&&&&&&& //开始定位
&&&&&&& mLocationClient.start();
&&& private void initLocation(){
&&&&&&& LocationClientOption option = new
LocationClientOption();
&&&&&&& //可选,默认高精度,设置定位模式,高精度、低功耗、仅设备
&&&&&&& option.setLocationMode(LocationClientOption.LocationMode.Hight_Accuracy);
&&&&&&& option.setCoorType(&bd0911&);&&
//可选,默认gcj02,设置返回的定位结果坐标系
&&&&&&& int span =
&&&&&&& option.setScanSpan(span);&&&&&&
//可选,默认0,即仅定位一次,设置发起定位请求的间隔需要大于等于1000ms才是有效的
&&&&&&& option.setIsNeedAddress(true);
//可选,设置是否需要地址信息,默认不需要
&&&&&&& option.setOpenGps(true);&&&&&
//可选,默认false,设置是否使用gps
&&&&&&& option.setLocationNotify(true);//可选,默认false,设置是否当gps有效时按照1S1次频率输出GPS结果
&&&&&&& option.setIsNeedLocationDescribe(true);//可选,默认false,设置是否需要位置语义化结果,可以在BDLocation.getLocationDescribe里得到,结果类似于“在北京天安门附近”
&&&&&&& option.setIsNeedLocationPoiList(true);//可选,默认false,设置是否需要POI结果,可以在BDLocation.getPoiList里得到
&&&&&&& option.setIgnoreKillProcess(false);//可选,默认true,定位SDK内部是一个SERVICE,并放到了独立进程,设置是否在stop的时候杀死这个进程,默认不杀死
&&& &&&&option.SetIgnoreCacheException(false);//可选,默认false,设置是否收集CRASH信息,默认收集
&&&&&&& option.setEnableSimulateGps(false);//可选,默认false,设置是否需要过滤gps仿真结果,默认需要
&&&&&&& mLocationClient.setLocOption(option);
&&& @Override
&&& protected void onDestroy() {
&&&& &&&mLocationClient.stop();&&&
//停止定位
&&&&&&& mBaiduMap.setMyLocationEnabled(false);//关闭定位图层
&&&&&&& mMapView.onDestroy();
&&&&&&& super.onDestroy();
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:37364次
积分:1318
积分:1318
排名:千里之外
原创:68篇
(2)(3)(1)(2)(1)(1)(1)(18)(40)
专为Android程序员的导航}

我要回帖

更多关于 marker 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信