百度地图SDK无法定位到当前所在位置;一直显示天安门 您所在的位置:网站首页 百度地图不显示界线图标 百度地图SDK无法定位到当前所在位置;一直显示天安门

百度地图SDK无法定位到当前所在位置;一直显示天安门

2024-04-05 15:17| 来源: 网络整理| 查看: 265

按照百度官方SDK接入百度地图SDK后,进行地图定位的时候,缩小界面,显示出了定位图标,但是打开地图界面,一直显示天安门的位置。

/** * 初始化定位内容 */ private void initLocate() { //定位初始化 mLocationClient = new LocationClient(getApplicationContext()); //通过LocationClientOption设置LocationClient相关参数 LocationClientOption option = new LocationClientOption(); option.setOpenGps(true); // 打开gps option.setCoorType("bd09ll"); // 设置坐标类型 option.setScanSpan(1000); //设置locationClientOption mLocationClient.setLocOption(option); //注册LocationListener监听器 MyLocationListener myLocationListener = new MyLocationListener(); mLocationClient.registerLocationListener(myLocationListener); //开启地图定位图层 mLocationClient.start(); } public class MyLocationListener extends BDAbstractLocationListener { @Override public void onReceiveLocation(BDLocation location) { //mapView 销毁后不在处理新接收的位置 if (location == null || mMapView == null) { return; } MyLocationData locData = new MyLocationData.Builder() .accuracy(location.getRadius()) // 此处设置开发者获取到的方向信息,顺时针0-360 .direction(location.getDirection()) .latitude(location.getLatitude()) .longitude(location.getLongitude()) .build(); LogUtils.e(TAG, "定位的位置为 " + locData.latitude + " 经度 = " + locData.longitude); LogUtils.e(TAG, location.getLocType() + " 定位结果码为 " + location.getLocTypeDescription()); mBaiduMap.setMyLocationData(locData); LatLng ll = new LatLng(location.getLatitude(), location.getLongitude()); MapStatus.Builder builder = new MapStatus.Builder(); builder.target(ll).zoom(18.0f); mBaiduMap.animateMapStatus(MapStatusUpdateFactory.newMapStatus(builder.build())); } }

以上是代码,重点如下:

1、

创建这个对象的时候,上下文通过使用 getApplicationContext() 获取上下文。但是本人更改之后,没起作用,不过也没有修改。感觉这个上下文和activity的上下文是一样的。

2、在监听器中,添加红色框选中的代码,就可以定位到当前所在位置了。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有