查看: 927|回复: 1

[咨询求助] 部分问题已解决,还有一点问题小白请求前辈

[复制链接]
双鱼史诗丶 发表于 2015-1-22 01:35:52 | 显示全部楼层 |阅读模式
本帖最后由 双鱼史诗丶 于 2015-1-22 02:56 编辑

还未解决的问题是:引入地图之后点击手机的返回键退回桌面时直接挂掉,是怎么回事?原本没加入地图的时候不会这样的。小弟是新手,求指教

已经自行解决的问题,解决方案在楼下:
实体机测试huawei g610-c00  版本4.1.2签名和权限都有了,test里面能够定位成功,可是照样写进项目里面就不行了,只能显示默认的北京的Log没有输出error.

定位图层基本代码如下
  1. // 获取地图控件引用
  2.                 mMapView = (MapView) findViewById(R.id.bmapView);
  3.                 mBaiduMap = mMapView.getMap();
  4.                 // 开启定位图层
  5.                 mBaiduMap.setMyLocationEnabled(true);
  6.                 // 定位初始化
  7.                 mLocClient = new LocationClient(this);
  8.                 mLocClient.registerLocationListener(myListener);
  9.                 LocationClientOption option = new LocationClientOption();
  10.                 option.setOpenGps(true);// 打开gps
  11.                 option.setCoorType("bd09ll"); // 设置坐标类型
  12.                 option.setScanSpan(1000);
  13.                 mLocClient.setLocOption(option);
  14.                 mLocClient.start();
  15.                 // 设置定位方式为跟随
  16.                 mCurrentMarker = BitmapDescriptorFactory
  17.                                 .fromResource(R.drawable.icon_geo);
  18.                 mCurrentMode = LocationMode.NORMAL;
  19.                 mBaiduMap.setMyLocationConfigeration(new MyLocationConfiguration(
  20.                                 mCurrentMode, true, mCurrentMarker));

  21. //实现定位层的接口是从百度demo上copy过来的

  22. /**
  23.          * 定位SDK监听函数
  24.          */
  25.         public class MyLocationListenner implements BDLocationListener {

  26.                 @Override
  27.                 public void onReceiveLocation(BDLocation location) {
  28.                         // map view 销毁后不再处理新接收的位置
  29.                         if (location == null || mMapView == null)
  30.                                 return;
  31.                         MyLocationData locData = new MyLocationData.Builder()
  32.                                         .accuracy(location.getRadius())
  33.                                         // 此处设置开发者获取到的方向信息,顺时针0-360
  34.                                         .direction(100).latitude(location.getLatitude())
  35.                                         .longitude(location.getLongitude()).build();
  36.                         mBaiduMap.setMyLocationData(locData);
  37.                         if (isFirstLoc) {
  38.                                 isFirstLoc = false;
  39.                                 // 构建地理坐标
  40.                                 LatLng ll = new LatLng(location.getLatitude(),
  41.                                                 location.getLongitude());
  42.                                 // 构建地图状态变化状态
  43.                                 MapStatusUpdate u = MapStatusUpdateFactory.newLatLng(ll);
  44.                                 mBaiduMap.animateMapStatus(u);
  45.                         }
  46.                 }

  47.                 public void onReceivePoi(BDLocation poiLocation) {
  48.                 }
  49.         }
复制代码
 楼主| 双鱼史诗丶 发表于 2015-1-22 02:53:55 | 显示全部楼层
主问题已经自行解决了,mLocClient = new LocationClient(getApplicationContext());要用getApplicationContext() 获取主程序的context,而不是单个activity的 context,之前用了this来获取的是activity的上下文。

现在还有另个问题:引入地图之后点击手机的返回键退回桌面时直接挂掉,是怎么回事?原本没加入地图的时候不会这样的

真心求解答

小黑屋|手机版|百度地图开放平台 ( 京ICP证030173号 )

GMT+8, 2018-2-19 04:15 , Processed in 0.048091 second(s), 24 queries .

Powered by Discuz! X3.2 Licensed

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表