Android百度离线定位有偏差

将gps坐标转换成百度坐标之后,在百度地图离线定位有偏差,有什么方法把定位点强拉到 马路上???

1个回答

GPS经纬度在百度地图上并不是实际的经纬度,都是经过加密计算的。
百度好像提供了api可以转换

直接参考7楼
http://bbs.csdn.net/topics/390395727

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Android 百度地图定位一些问题
Android百度地图定位,有两个问题大神们帮忙看下? 一、百度地图定位后,想取消定位我调用了mLocClient.stop();取消了定位,但是地图的蓝色定位图标还在,怎么去掉这个蓝色的小点图标? 二、百度地图定位后,移动地图,他会自动回到之前定位的地方,怎么解决地图总是返回到定位点的问题,我想实现定位,但是不让自动返回到定位点。
Android 百度地图定位大神们帮忙看下
Android百度地图定位,有两个问题大神们帮忙看下? 一、百度地图定位后,想取消定位我调用了mLocClient.stop();取消了定位,但是地图的蓝色定位图标还在,怎么去掉这个蓝色的小点图标? 二、百度地图定位后,移动地图,他会自动回到之前定位的地方,怎么解决地图总是返回到定位点的问题,我想实现定位,但是不让自动返回到定位点。
android的百度离线地图无法加载离线地图包
我是先将从官网下载的离线包解压,把vmp文件夹拷入SD卡根目录下的BaiduMapSDK文件夹内 在程序加载时调用本地的离线地图包,但总是提示无法加载离线地图包。 请高手指点一下什么原因。 /** 离线地图初始化 **/ mOffline = new MKOfflineMap(); mOffline.init(new MKOfflineMapListener() { public void onGetOfflineMapState(int type, int state) { switch (type) { case MKOfflineMap.TYPE_DOWNLOAD_UPDATE: { MKOLUpdateElement update = mOffline.getUpdateInfo(state); //mText.setText(String.format("%s : %d%%", update.cityName, update.ratio)); } break; case MKOfflineMap.TYPE_NEW_OFFLINE: Log.d("OfflineDemo", String.format("add offlinemap num:%d", state)); break; case MKOfflineMap.TYPE_VER_UPDATE: Log.d("OfflineDemo", String.format("new offlinemap ver")); break; } } } ); /** 离线地图导入离线包 **/ int num = mOffline.importOfflineData(); String msg = ""; if (num == 0) { msg = "没有导入离线包,这可能是离线包放置位置不正确,或离线包已经导入过"; } else { msg = String.format("成功导入 %d 个离线包,可以在下载管理查看", num); } Toast.makeText(this, msg, Toast.LENGTH_SHORT).show();
百度地图 离线导航功能 android开发
现在想做一个百度地图的离线功能的app,要求可以在离线模式下,通过经纬度或者地址 定位某一点,并通过本地位置到该点之间实现离线导航(即显示公交路线,步行路线, 驾车路线等),不知这些功能能否实现,怎么实现?
Android 百度地图定位问题
有个APk加密之前百度地图定位是可以用的,加密后因为要重新签名才能运行,签名后发现 百度地图定位不到了。我怀疑是数字签名问题,地图定位要提供数字签名, 难道说重新签名了 数字签名就变了吗? 那我又要怎么得到我加密后的APK 的数字签名你? 签名是用的加密提供的签名工具
Android调用百度定位的SDK进行定位,位置已经移动了,但是定位到的坐标没有变化?
我现在做的是在应用中每次拍照或是摄像后,有一个保存按钮,点击保存的时候开启定位服务,有坐标信息后在定位信息的回调中发送广播,然后接受坐标信息。但是现在遇到的一个问题是地理位置已经移动了,但是返回的坐标信息却没有改变。比如在地点A拍摄了一张照片,我点击了保存,然后此时定位到一个经纬度信息为11,6.2345,39.2345。然后我移动到地点B(地点B与地点A两者相距5km),拍摄了一张照片,点击保存后,返回的经纬度信息还是11,6.2345,39.2345。谁能解释下原因啊。我开启定位的代码是放在了一个继承了Application的MyApplicationLocation类中,每次开启定位使用如下方式开启:MyApplicationLocation.getInstance.onLineRequest();然后剩下的就是在onReceiveLocation(BDLocation location)这个回调方法中发送定位到的坐标信息了。在设置参数时setScanSpan(1000)设置为了1000,所以并不是仅定位一次,再有就是每次点击保存图片时都会重新设置一遍啊,我刚去看了下百度地图SDK的官方api,也没有发现类似的参数或是方法,其中有一个方法是getLastKnownLocation(),官方的说明是:同步定位,返回最近一次定位结果,但是我每次定位都是新发出一个定位请求啊,求解下定位信息重复的原因,是因为缓存的原因吗?有没有什么解决方法?谢谢啦。(还有就是想问下,百度定位SDK中的离线定位的定义是什么啊?是指使用什么方式定位还是指离线定位是使用之前的地理位置信息) 在MyApplicationLocation中部分代码如下: ``` public LocationClient mLocationClient = null; private static MyApplicationLocation instance = null; @Override public void onCreate() { super.onCreate(); instance = this; mLocationClient = new LocationClient(getApplicationContext()); // 声明LocationClient类 mLocationClient.registerLocationListener(this); // 注册监听函数 } public static MyApplicationLocation getInstance() { return instance; } public void onLineRequest() { setOption(); start(); if (mLocationClient != null && mLocationClient.isStarted()) { mLocationClient.requestLocation(); // 发起定位,异步获取当前位置 } } private void setOption() { LocationClientOption option = new LocationClientOption(); option.setLocationMode(LocationMode.Hight_Accuracy);// 可选,默认高精度,设置定位模式,高精度,低功耗,仅设备 option.setCoorType("bd09ll"); option.setScanSpan(span);// 可选,默认0,即仅定位一次,设置发起定位请求的间隔需要大于等于1000ms才是有效的 option.setIsNeedAddress(true);// 可选,设置是否需要地址信息,默认不需要 option.setOpenGps(true);// 可选,默认false,设置是否使用gps option.setLocationNotify(true); option.setIsNeedLocationDescribe(true); option.setIsNeedLocationPoiList(true); option.setIgnoreKillProcess(false); option.SetIgnoreCacheException(false); option.setEnableSimulateGps(false); mLocationClient.setLocOption(option); } public void start() { if (mLocationClient != null && !mLocationClient.isStarted()) { mLocationClient.start(); } } ```
接入百度sdk,android 7.0 定位失败
问题:Android 7.0以下手机可以定位成功,Android7.0定位到几内亚湾... 百度sdk的配置: 1.包:使用包是自定义下载的(版本:Android 地图 SDK v4.2.1) 2.导包:三个jar包放在libs目录下,armeabi文件夹下的.so文件放在src/main/jniLibs下 3.权限:7.0手机定位权限获取成功 求助:各位大佬,麻烦看一看
android百度地图定位,最新的怎么弄
新手做一个项目,需要百度地图定位,现在在网上找的全都是以前的,运行都出错,有大神有现在能运行的demo吗,求android大神教教我。
Android 百度地图 只显示网格 定位能正常使用
Android 百度地图 只显示网格 定位能正常使用 key也重新申请了 还是不可以 求大神帮帮忙 啊
android百度地图定位遇到的bug
集成百度定位,要在程序启动的时候就获取到位置信息,我就直接写到application节点里面,在初始化的时候开启定位,在接收到定位信息停止定位,这样的话只能定位一次,我想能不能让他多定位几次,我果断把stop方法去掉了.结果一直返回百度的默认值,有什么方法可以解决吗. public class BaiLingApplication extends Application { public LocationClient mLocationClient; public MyLocationListener mMyLocationListener; @Override public void onCreate() { super.onCreate(); mLocationClient = new LocationClient(this.getApplicationContext()); mMyLocationListener = new MyLocationListener(); mLocationClient.registerLocationListener(mMyLocationListener); InitLocation(); mLocationClient.start(); if (!GlobalVar.isPrintLog) { AppCrashHandler handler = AppCrashHandler.getInstance(); handler.init(getApplicationContext()); Thread.setDefaultUncaughtExceptionHandler(handler); } initSD(); } /** * 实现定位回调监听 */ public class MyLocationListener implements BDLocationListener { @Override public void onReceiveLocation(BDLocation location) { GlobalVar.city_location = location.getCity(); Double longitude = location.getLongitude(); // 经度 Double latitude = location.getLatitude(); // 纬度 GlobalVar.longitude_latitude = String.valueOf(longitude) + "," + String.valueOf(latitude); LogUtils.i(GlobalVar.longitude_latitude); //如果去掉stop 的话.一直返回百度的默认值.不去掉的话只能定位一次,是key不对还是sha1值不对还是有其他的原因 mLocationClient.stop(); } } private void InitLocation() { LocationClientOption option = new LocationClientOption(); option.setLocationMode(LocationMode.Hight_Accuracy);// 设置定位模式 option.setCoorType("bd09ll");// 返回的定位结果是百度经纬度,默认值gcj02 option.setScanSpan(5000);// 设置发起定位请求的间隔时间为5000ms option.setIsNeedAddress(true);// 设置开启反地理编码 option.setEnableSimulateGps(true);// 设置是否需要过滤GPS仿真结果,默认需要 mLocationClient.setLocOption(option); }
android studio 离线配置 ,依赖包报错no cache version
android studio 离线配置 ,依赖包报错no cache version。 怎么办 要把离线jar包放到哪个目录
在自己写的安卓app使用百度地图定位sdk,和直接用百度地图app来定位,为什么偏差那么大?
使用百度地图app来定位,误差在10米以内,这样的结果过得去。而我在自己写的app中,使用百度地图定位sdk,用的是全量定位,是最新版的7.0,地图用4.1,在同样的条件下,误差接近1公里。请问这是怎么回事呢? 以下是我的与定位有关的代码 ``` class MyLocationListener implements BDLocationListener { public void onReceiveLocation(BDLocation location) { if (location.getLocType() == 161) { //定位成功返回161 if (location == null || baiduMap == null) return ; CoordinateConverter converter = new CoordinateConverter(); //转为百度用的bd0911坐标系,不过我本来用的应该就是bd0911(以下的locationclient那部分代码会看到,然而我不这样转,误差更大,这样转了起码缩小了误差 converter.from(CoordinateConverter.CoordType.GPS); converter.coord(new LatLng(location.getLatitude(), location.getLongitude())); LatLng baiduLatLng = converter.convert(); double nowLatitude=baiduLatLng.latitude; double nowLongitude=baiduLatLng.longitude; MyLocationData myLocationData = new MyLocationData.Builder() .accuracy(location.getRadius()) .direction(location.getDirection()) .latitude(nowLatitude) .longitude(nowLongitude) .build(); baiduMap.setMyLocationData(myLocationData); if(isFirstLocation) { isFirstLocation = false; mapStatusUpdate = MapStatusUpdateFactory.newLatLng(new LatLng(location.getLatitude(), location.getLongitude())); baiduMap.animateMapStatus(mapStatusUpdate); //设置新中心点 } GeoCoder geocoder=GeoCoder.newInstance(); //获得反地理编码,不过应该和定位的误差关系不大 geocoder.setOnGetGeoCodeResultListener(new MyOnGetGeoCoderResultListener()); geocoder.reverseGeoCode(new ReverseGeoCodeOption().location(new LatLng(nowLatitude,nowLongitude))); } else Log.e("this","返回值不为161,是:"+location.getLocType()); } } class MyOnGetGeoCoderResultListener implements OnGetGeoCoderResultListener { public void onGetReverseGeoCodeResult(ReverseGeoCodeResult result) { if(result==null || result.error!= SearchResult.ERRORNO.NO_ERROR) Log.e("this","没找到反编码信息"); else { locationResultTextView.setEnabled(true); locationResultTextView.setBackground(new ColorDrawable(0xffffffff)); locationResultTextView.setText("当前位置是:"+result.getAddress()); } } public void onGetGeoCodeResult(GeoCodeResult result){} } //一下就是locationclient的部分了 baiduMap.setMyLocationEnabled(true); //baiduMap是BaiduMap对象 locationClient=new LocationClient(getApplicationContext()); LocationClientOption locationClientOption=new LocationClientOption(); locationClientOption.setLocationMode(LocationClientOption.LocationMode.Hight_Accuracy); //用高精度定位,然而还是偏差了1公里左右 locationClientOption.setCoorType("bd0911"); //这里我就是设置了用bd0911坐标系 locationClientOption.setOpenGps(true); locationClientOption.setIsNeedAddress(true); locationClientOption.setScanSpan(5000); //每5秒进行定位 locationClientOption.setNeedDeviceDirect(true); locationClient.setLocOption(locationClientOption); locationClient.registerLocationListener(new MyLocationListener()); locationClient.start(); MyLocationConfiguration.LocationMode mode= MyLocationConfiguration.LocationMode.NORMAL; if(bitmapDescriptor==null) bitmapDescriptor=BitmapDescriptorFactory.fromResource(R.drawable.icon_marka); baiduMap.setMyLocationConfigeration(new MyLocationConfiguration(mode,true,bitmapDescriptor)); ``` 我的与定位有关的代码如上所示,偏差了1公里左右,同样条件下用百度地图app定位,误差最多不超10米,请问是什么地方出问题了呢?
android 利用百度地图定位 定到海里了
误差太大 到非洲的海里了 怎么回事呢 是缺少什么东西吗
android studio 配置百度SDK定位失败
![图片说明](https://img-ask.csdn.net/upload/201507/05/1436094860_126440.png) 就实现基础的定位功能,下面是主activity import android.app.Activity; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.TextView; import com.baidu.location.BDLocation; import com.baidu.location.BDLocationListener; import com.baidu.location.LocationClient; import com.baidu.location.LocationClientOption; import com.baidu.mapapi.SDKInitializer; public class MapsActivity extends Activity { private LocationClientOption option; public LocationClient mLocationClient = null; private LocationClientOption.LocationMode tempMode = LocationClientOption.LocationMode.Battery_Saving; private String tempcoor="bd09ll"; private TextView textView1; private Button button; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.this_one); mLocationClient = new LocationClient(getApplicationContext()); //声明LocationClient类 mLocationClient.registerLocationListener(new MyLocationListener() ); textView1= (TextView) findViewById(R.id.textView1); button= (Button) findViewById(R.id.startLocation); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { InitLocation(); mLocationClient.start(); } }); } private void InitLocation(){ option = new LocationClientOption(); option.setLocationMode(tempMode);//设置定位模式 option.setCoorType(tempcoor);//返回的定位结果是百度经纬度,默认值gcj02 int span=10000; option.setScanSpan(span); //设置发起定位请求的间隔时间为5000ms option.setIsNeedAddress(true); mLocationClient.setLocOption(option); } @Override protected void onStop() { mLocationClient.stop(); super.onStop(); } public class MyLocationListener implements BDLocationListener { @Override public void onReceiveLocation(BDLocation location) { if (location==null){ return; } //Receive Location StringBuffer sb = new StringBuffer(256); sb.append("time : "); sb.append(location.getTime()); sb.append("\nerror code : "); sb.append(location.getLocType()); sb.append("\nlatitude : "); sb.append(location.getLatitude()); sb.append("\nlontitude : "); sb.append(location.getLongitude()); sb.append("\nradius : "); sb.append(location.getRadius()); if (location.getLocType() == BDLocation.TypeGpsLocation){ sb.append("\nspeed : "); sb.append(location.getSpeed()); sb.append("\nsatellite : "); sb.append(location.getSatelliteNumber()); sb.append("\ndirection : "); sb.append("\naddr : "); sb.append(location.getAddrStr()); sb.append(location.getDirection()); } else if (location.getLocType() == BDLocation.TypeNetWorkLocation){ sb.append("\naddr : "); sb.append(location.getAddrStr()); //运营商信息 sb.append("\noperationers : "); sb.append(location.getOperators()); } mLocationClient.stop(); logMsg(sb.toString()); Log.i("BaiduLocationApiDem", sb.toString()); } } /** * 显示请求字符串 * @param str */ public void logMsg(String str) { try { if (textView1 != null) textView1.setText(str); } catch (Exception e) { e.printStackTrace(); } } } 到底哪里不行,好郁闷啊,大神求解答
android百度地图定位的经纬度不准确
求怎么解决 定位的经纬度有误差 而且还挺大的 怎么解决 求指导
android百度地图有提供路线选择功能吗
android百度地图有提供路线选择功能吗? 和百度地图一样输入起始点,驾车方式,从若干条路线中 选择一条路线
在android开发中使用百度LBS定位服务无法稳定准确获得地理位置
程序代码如下所示,我是仿照网上的实例编写的,在manifests文件中已经添加了识别码以及百度定位的service,权限也按照百度的说明文档添加好了,在虚拟机中运行效果为无法获取地理位置,错误码62,真机运行则毫无反应,我完全找不到是什么地方出了问题,哪位大大可以帮我看一下吗? ``` import android.os.Bundle; import android.support.v4.app.Fragment; import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.Button; import android.widget.TextView; import com.baidu.location.BDLocation; import com.baidu.location.BDLocationListener; import com.baidu.location.LocationClient; import com.baidu.location.LocationClientOption; /** * Created by GCloud on 2015/4/14. */ public class LocationPageFragment extends Fragment implements View.OnClickListener { private static final String TAG = "dzt"; private TextView mText; private LocationClient mLocationClient = null; private BDLocationListener myListener = new MyLocationListener(); @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mLocationClient = new LocationClient(getActivity().getApplicationContext()); // 声明LocationClient类 mLocationClient.registerLocationListener(myListener); // 注册监听函数 setLocationOption(); mLocationClient.start(); } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.layout, null); mText = (TextView)view.findViewById(R.id.location_response); Button btn = (Button)view.findViewById(R.id.location_request); btn.setOnClickListener(this); return view; } @Override public void onDestroy() { // TODO Auto-generated method stub super.onDestroy(); mLocationClient.stop();// 停止定位 } /** * 设置相关参数 */ private void setLocationOption() { LocationClientOption option = new LocationClientOption(); option.setOpenGps(true); option.setIsNeedAddress(true);// 返回的定位结果包含地址信息 option.setAddrType("all");// 返回的定位结果包含地址信息 option.setCoorType("bd09ll");// 返回的定位结果是百度经纬度,默认值gcj02 option.setScanSpan(5000);// 设置发起定位请求的间隔时间为5000ms mLocationClient.setLocOption(option); } public class MyLocationListener implements BDLocationListener { @Override public void onReceiveLocation(BDLocation location) { if (location == null) return; StringBuffer sb = new StringBuffer(256); sb.append("当前时间 : "); sb.append(location.getTime()); sb.append("\n错误码 : "); sb.append(location.getLocType()); sb.append("\n纬度 : "); sb.append(location.getLatitude()); sb.append("\n经度 : "); sb.append(location.getLongitude()); sb.append("\n半径 : "); sb.append(location.getRadius()); if (location.getLocType() == BDLocation.TypeGpsLocation) { sb.append("\n速度 : "); sb.append(location.getSpeed()); sb.append("\n卫星数 : "); sb.append(location.getSatelliteNumber()); } else if (location.getLocType() == BDLocation.TypeNetWorkLocation) { sb.append("\n地址 : "); sb.append(location.getAddrStr()); } mText.setText(sb.toString()); Log.d(TAG, "onReceiveLocation " + sb.toString()); } } @Override public void onClick(View v) { // TODO Auto-generated method stub switch (v.getId()) { case R.id.location_request: if (mLocationClient != null && mLocationClient.isStarted()) mLocationClient.requestLocation(); else Log.d(TAG, "locClient is null or not started"); break; default: break; } } } ```
安卓调用百度地图sdk,可是返回坐标值一直是4.9E-324
我发现手机端使用正常,就是在使用夜神模拟器的时候出现的这样的问题。 打开夜神模拟器设置,发现我的软件有这个位置权限(手机端申请了动态权限) 但就是返回4.9E-324,location.getLocType()的返回值是167.我看文档说是没有获取到位置权限。 我现在就有一点迷惑了,动态的也申请了,也在AndroidManifest里面写了权限。 真心不知道这个bug咋解决。 以下是我mainactivity里面所有的代码: ``` package com.example.ppgo; import android.Manifest; import android.content.pm.PackageManager; import android.os.Bundle; import android.util.Log; import android.widget.TextView; import android.widget.Toast; import com.baidu.location.BDLocation; import com.baidu.location.BDLocationListener; import com.baidu.location.LocationClient; import com.baidu.location.LocationClientOption; import java.util.ArrayList; import java.util.List; import androidx.annotation.NonNull; import androidx.appcompat.app.AppCompatActivity; import androidx.core.app.ActivityCompat; import androidx.core.content.ContextCompat; public class MainActivity extends AppCompatActivity { public LocationClient mLocationClient; private TextView positionText; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mLocationClient=new LocationClient(getApplicationContext()); mLocationClient.registerLocationListener(new MyLocationListener()); setContentView(R.layout.activity_main); positionText=(TextView)findViewById(R.id.position_text_view); List<String> permissionList=new ArrayList<>(); if(ContextCompat.checkSelfPermission(MainActivity.this, Manifest. permission.ACCESS_FINE_LOCATION)!=PackageManager.PERMISSION_GRANTED){ permissionList.add(Manifest.permission.ACCESS_FINE_LOCATION); } if(ContextCompat.checkSelfPermission(MainActivity.this, Manifest. permission.READ_PHONE_STATE)!=PackageManager.PERMISSION_GRANTED){ permissionList.add(Manifest.permission.READ_PHONE_STATE); } if(ContextCompat.checkSelfPermission(MainActivity.this, Manifest. permission.WRITE_EXTERNAL_STORAGE)!=PackageManager.PERMISSION_GRANTED){ permissionList.add(Manifest.permission.WRITE_EXTERNAL_STORAGE); } if(!permissionList.isEmpty()){ String[]permissions=permissionList.toArray(new String[permissionList.size()]); ActivityCompat.requestPermissions(MainActivity.this,permissions,1); }else { requestLocation(); } } private void requestLocation(){ initLocation(); mLocationClient.start(); } private void initLocation(){ LocationClientOption option =new LocationClientOption(); option.setScanSpan(5000); mLocationClient.setLocOption(option); } @Override protected void onDestroy() { super.onDestroy(); mLocationClient.stop(); } @Override public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { super.onRequestPermissionsResult(requestCode, permissions, grantResults); Log.e("Tag","执行了onRequestPermissionsResult函数"); switch (requestCode){ case 1: if (grantResults.length>0){ for(int result:grantResults){ if(result!=PackageManager.PERMISSION_GRANTED){ Toast.makeText(this,"必须同意所有权限才能使用本程序", Toast.LENGTH_SHORT).show(); finish(); return; } } requestLocation(); }else { Toast.makeText(this,"发生未知错误",Toast.LENGTH_SHORT).show(); finish(); } break; default: } } public class MyLocationListener implements BDLocationListener { @Override public void onReceiveLocation(BDLocation location){ StringBuilder currentPosition=new StringBuilder(); currentPosition.append("纬度:").append(location.getLatitude()).append("\n"); currentPosition.append("经线:").append(location.getLongitude()).append("\n"); currentPosition.append("国家:").append(location.getCountry()).append("\n"); currentPosition.append("省:").append(location.getProvince()).append("\n"); currentPosition.append("市:").append(location.getCity()).append("\n"); currentPosition.append("区:").append(location.getDistrict()).append("\n"); currentPosition.append("街道:").append(location.getStreet()).append("\n"); currentPosition.append("定位方式:"); if (location.getLocType() == BDLocation.TypeGpsLocation) { currentPosition.append("GPS"); } else if (location.getLocType() == BDLocation.TypeNetWorkLocation) { currentPosition.append("网络"); currentPosition.append(" 错误代码:"+location.getLocType()); } else if (location.getLocType() == BDLocation.TypeOffLineLocation){ currentPosition.append("离线定位成功,离线定位结果也是有效的"); } else if (location.getLocType() == BDLocation.TypeServerError){ currentPosition.append("服务端网络定位失败"); currentPosition.append(" 错误代码:"+location.getLocType()); } else if (location.getLocType() == BDLocation.TypeNetWorkException){ currentPosition.append("网络不同导致定位失败,请检查网络是否通畅"); } else if (location.getLocType() == BDLocation.TypeCriteriaException){ currentPosition.append("无法获取有效定位依据导致定位失败"); currentPosition.append(" 错误代码:"+location.getLocType()); } else { currentPosition.append(location.getLocType()); //这里打印出来location.getLocType()是162 currentPosition.append("老子也不知道是啥原因!!!"); } positionText.setText(currentPosition); } } } ``` 以下是我AndroidManifest里面的代码: ``` <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.ppgo"> <!-- 这个权限用于进行网络定位 --> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <!-- 这个权限用于访问GPS定位 --> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <!-- 用于访问wifi网络信息,wifi信息会用于进行网络定位 --> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <!-- 获取网络状态,根据网络状态切换进行数据请求网络转换 --> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <!-- 写外置存储。如果开发者使用了离线地图,并且数据写在外置存储区域,则需要申请该权限 --> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <!-- 读取外置存储。如果开发者使用了so动态加载功能并且把so文件放在了外置存储区域,则需要申请该权限,否则不需要 --> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <!-- 访问网络,进行地图相关业务数据请求,包括地图数据,路线规划,POI检索等 --> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" /> <uses-permission android:name="android.permission.WAKE_LOCK" /> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme"> <meta-data android:name="com.baidu.lbsapi.API_KEY" android:value="mvxMsdG1homIlK4UjAWYP2itjxo09Dyy" /> <activity android:name=".MainActivity"> <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" /> </application> </manifest> ```
关于android基于百度定位的开发。
我是大学生,大三下准备毕业设计,想设计一个基于百度定位下的学校的定位,但是不想基于百度地图,因为毕竟太大了。想自己拿一张学校的平面图,然后再进行定位,请问,这要怎么实现。有没有什么事例可以借鉴的。跪求
Kafka实战(三) - Kafka的自我修养与定位
Apache Kafka是消息引擎系统,也是一个分布式流处理平台(Distributed Streaming Platform) Kafka是LinkedIn公司内部孵化的项目。LinkedIn最开始有强烈的数据强实时处理方面的需求,其内部的诸多子系统要执行多种类型的数据处理与分析,主要包括业务系统和应用程序性能监控,以及用户行为数据处理等。 遇到的主要问题: 数据正确性不足 数据的收集主要...
volatile 与 synchronize 详解
Java支持多个线程同时访问一个对象或者对象的成员变量,由于每个线程可以拥有这个变量的拷贝(虽然对象以及成员变量分配的内存是在共享内存中的,但是每个执行的线程还是可以拥有一份拷贝,这样做的目的是加速程序的执行,这是现代多核处理器的一个显著特性),所以程序在执行过程中,一个线程看到的变量并不一定是最新的。 volatile 关键字volatile可以用来修饰字段(成员变量),就是告知程序任何对该变量...
Java学习的正确打开方式
在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是国内的书籍,博客次之,这又是一个层次了,这里暂时不提后面再谈。博主将为各位入门java保驾护航,各位只管冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 何谓学习?博主所理解的学习,它是一个过程,是一个不断累积、不断沉淀、不断总结、善于传达自己的个人见解以及乐于分享的过程。
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过...
有哪些让程序员受益终生的建议
从业五年多,辗转两个大厂,出过书,创过业,从技术小白成长为基层管理,联合几个业内大牛回答下这个问题,希望能帮到大家,记得帮我点赞哦。 敲黑板!!!读了这篇文章,你将知道如何才能进大厂,如何实现财务自由,如何在工作中游刃有余,这篇文章很长,但绝对是精品,记得帮我点赞哦!!!! 一腔肺腑之言,能看进去多少,就看你自己了!!! 目录: 在校生篇: 为什么要尽量进大厂? 如何选择语言及方...
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...
linux系列之常用运维命令整理笔录
本博客记录工作中需要的linux运维命令,大学时候开始接触linux,会一些基本操作,可是都没有整理起来,加上是做开发,不做运维,有些命令忘记了,所以现在整理成博客,当然vi,文件操作等就不介绍了,慢慢积累一些其它拓展的命令,博客不定时更新 free -m 其中:m表示兆,也可以用g,注意都要小写 Men:表示物理内存统计 total:表示物理内存总数(total=used+free) use...
比特币原理详解
一、什么是比特币 比特币是一种电子货币,是一种基于密码学的货币,在2008年11月1日由中本聪发表比特币白皮书,文中提出了一种去中心化的电子记账系统,我们平时的电子现金是银行来记账,因为银行的背后是国家信用。去中心化电子记账系统是参与者共同记账。比特币可以防止主权危机、信用风险。其好处不多做赘述,这一层面介绍的文章很多,本文主要从更深层的技术原理角度进行介绍。 二、问题引入 假设现有4个人...
GitHub开源史上最大规模中文知识图谱
近日,一直致力于知识图谱研究的 OwnThink 平台在 Github 上开源了史上最大规模 1.4 亿中文知识图谱,其中数据是以(实体、属性、值),(实体、关系、实体)混合的形式组织,数据格式采用 csv 格式。 到目前为止,OwnThink 项目开放了对话机器人、知识图谱、语义理解、自然语言处理工具。知识图谱融合了两千五百多万的实体,拥有亿级别的实体属性关系,机器人采用了基于知识图谱的语义感...
程序员接私活怎样防止做完了不给钱?
首先跟大家说明一点,我们做 IT 类的外包开发,是非标品开发,所以很有可能在开发过程中会有这样那样的需求修改,而这种需求修改很容易造成扯皮,进而影响到费用支付,甚至出现做完了项目收不到钱的情况。 那么,怎么保证自己的薪酬安全呢? 我们在开工前,一定要做好一些证据方面的准备(也就是“讨薪”的理论依据),这其中最重要的就是需求文档和验收标准。一定要让需求方提供这两个文档资料作为开发的基础。之后开发...
网页实现一个简单的音乐播放器(大佬别看。(⊙﹏⊙))
今天闲着无事,就想写点东西。然后听了下歌,就打算写个播放器。 于是乎用h5 audio的加上js简单的播放器完工了。 演示地点演示 html代码如下` music 这个年纪 七月的风 音乐 ` 然后就是css`*{ margin: 0; padding: 0; text-decoration: none; list-...
微信支付崩溃了,但是更让马化腾和张小龙崩溃的竟然是……
loonggg读完需要3分钟速读仅需1分钟事件还得还原到昨天晚上,10 月 29 日晚上 20:09-21:14 之间,微信支付发生故障,全国微信支付交易无法正常进行。然...
Python十大装B语法
Python 是一种代表简单思想的语言,其语法相对简单,很容易上手。不过,如果就此小视 Python 语法的精妙和深邃,那就大错特错了。本文精心筛选了最能展现 Python 语法之精妙的十个知识点,并附上详细的实例代码。如能在实战中融会贯通、灵活使用,必将使代码更为精炼、高效,同时也会极大提升代码B格,使之看上去更老练,读起来更优雅。
数据库优化 - SQL优化
以实际SQL入手,带你一步一步走上SQL优化之路!
2019年11月中国大陆编程语言排行榜
2019年11月2日,我统计了某招聘网站,获得有效程序员招聘数据9万条。针对招聘信息,提取编程语言关键字,并统计如下: 编程语言比例 rank pl_ percentage 1 java 33.62% 2 cpp 16.42% 3 c_sharp 12.82% 4 javascript 12.31% 5 python 7.93% 6 go 7.25% 7 p...
通俗易懂地给女朋友讲:线程池的内部原理
餐盘在灯光的照耀下格外晶莹洁白,女朋友拿起红酒杯轻轻地抿了一小口,对我说:“经常听你说线程池,到底线程池到底是个什么原理?”
《奇巧淫技》系列-python!!每天早上八点自动发送天气预报邮件到QQ邮箱
将代码部署服务器,每日早上定时获取到天气数据,并发送到邮箱。 也可以说是一个小型人工智障。 知识可以运用在不同地方,不一定非是天气预报。
经典算法(5)杨辉三角
杨辉三角 是经典算法,这篇博客对它的算法思想进行了讲解,并有完整的代码实现。
英特尔不为人知的 B 面
从 PC 时代至今,众人只知在 CPU、GPU、XPU、制程、工艺等战场中,英特尔在与同行硬件芯片制造商们的竞争中杀出重围,且在不断的成长进化中,成为全球知名的半导体公司。殊不知,在「刚硬」的背后,英特尔「柔性」的软件早已经做到了全方位的支持与支撑,并持续发挥独特的生态价值,推动产业合作共赢。 而对于这一不知人知的 B 面,很多人将其称之为英特尔隐形的翅膀,虽低调,但是影响力却不容小觑。 那么,在...
腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹?
昨天,有网友私信我,说去阿里面试,彻底的被打击到了。问了为什么网上大量使用ThreadLocal的源码都会加上private static?他被难住了,因为他从来都没有考虑过这个问题。无独有偶,今天笔者又发现有网友吐槽了一道腾讯的面试题,我们一起来看看。 腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹? 在互联网职场论坛,一名程序员发帖求助到。二面腾讯,其中一个算法题:64匹...
面试官:你连RESTful都不知道我怎么敢要你?
干货,2019 RESTful最贱实践
刷了几千道算法题,这些我私藏的刷题网站都在这里了!
遥想当年,机缘巧合入了 ACM 的坑,周边巨擘林立,从此过上了"天天被虐似死狗"的生活… 然而我是谁,我可是死狗中的战斗鸡,智力不够那刷题来凑,开始了夜以继日哼哧哼哧刷题的日子,从此"读题与提交齐飞, AC 与 WA 一色 ",我惊喜的发现被题虐既刺激又有快感,那一刻我泪流满面。这么好的事儿作为一个正直的人绝不能自己独享,经过激烈的颅内斗争,我决定把我私藏的十几个 T 的,阿不,十几个刷题网...
为啥国人偏爱Mybatis,而老外喜欢Hibernate/JPA呢?
关于SQL和ORM的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行了一番讨论,感触还是有一些,于是就有了今天这篇文。 声明:本文不会下关于Mybatis和JPA两个持久层框架哪个更好这样的结论。只是摆事实,讲道理,所以,请各位看官勿喷。 一、事件起因 关于Mybatis和JPA孰优孰劣的问题,争论已经很多年了。一直也没有结论,毕竟每个人的喜好和习惯是大不相同的。我也看...
白话阿里巴巴Java开发手册高级篇
不久前,阿里巴巴发布了《阿里巴巴Java开发手册》,总结了阿里巴巴内部实际项目开发过程中开发人员应该遵守的研发流程规范,这些流程规范在一定程度上能够保证最终的项目交付质量,通过在时间中总结模式,并推广给广大开发人员,来避免研发人员在实践中容易犯的错误,确保最终在大规模协作的项目中达成既定目标。 无独有偶,笔者去年在公司里负责升级和制定研发流程、设计模板、设计标准、代码标准等规范,并在实际工作中进行...
SQL-小白最佳入门sql查询一
不要偷偷的查询我的个人资料,即使你再喜欢我,也不要这样,真的不好;
项目中的if else太多了,该怎么重构?
介绍 最近跟着公司的大佬开发了一款IM系统,类似QQ和微信哈,就是聊天软件。我们有一部分业务逻辑是这样的 if (msgType = "文本") { // dosomething } else if(msgType = "图片") { // doshomething } else if(msgType = "视频") { // doshomething } else { // doshom...
Nginx 原理和架构
Nginx 是一个免费的,开源的,高性能的 HTTP 服务器和反向代理,以及 IMAP / POP3 代理服务器。Nginx 以其高性能,稳定性,丰富的功能,简单的配置和低资源消耗而闻名。 Nginx 的整体架构 Nginx 里有一个 master 进程和多个 worker 进程。master 进程并不处理网络请求,主要负责调度工作进程:加载配置、启动工作进程及非停升级。worker 进程负责处...
YouTube排名第一的励志英文演讲《Dream(梦想)》
Idon’t know what that dream is that you have, I don't care how disappointing it might have been as you've been working toward that dream,but that dream that you’re holding in your mind, that it’s po...
“狗屁不通文章生成器”登顶GitHub热榜,分分钟写出万字形式主义大作
一、垃圾文字生成器介绍 最近在浏览GitHub的时候,发现了这样一个骨骼清奇的雷人项目,而且热度还特别高。 项目中文名:狗屁不通文章生成器 项目英文名:BullshitGenerator 根据作者的介绍,他是偶尔需要一些中文文字用于GUI开发时测试文本渲染,因此开发了这个废话生成器。但由于生成的废话实在是太过富于哲理,所以最近已经被小伙伴们给玩坏了。 他的文风可能是这样的: 你发现,...
程序员:我终于知道post和get的区别
是一个老生常谈的话题,然而随着不断的学习,对于以前的认识有很多误区,所以还是需要不断地总结的,学而时习之,不亦说乎
相关热词 c#中dns类 c#合并的excel c# implicit c#怎么保留3个小数点 c# 串口通信、 网络调试助手c# c# 泛型比较大小 c#解压分卷问题 c#启动居中 c# 逻辑或运算符
立即提问