Android 百度地图经纬度精确位数,百度map定位 为什么经纬度是准确的 而在map上标注却偏离很远...

百度地图定位 为什么经纬度是准确的 而在地图上标注却偏离很远

我是按网上论坛写的  让后下载他们的demo地图上标注是正确的  而我自己的地图上标注却偏离很远

package com.example.baidu_text;

import android.app.Activity;

import android.os.Bundle;

import android.view.Menu;

import android.view.MenuItem;

import android.view.View;

import android.widget.Button;

import android.widget.Toast;

import com.baidu.lbsapi.BMapManager;

import com.baidu.location.BDLocation;

import com.baidu.location.BDLocationListener;

import com.baidu.location.LocationClient;

import com.baidu.location.LocationClientOption;

import com.baidu.location.LocationClientOption.LocationMode;

import com.baidu.mapapi.SDKInitializer;

import com.baidu.mapapi.map.BaiduMap;

import com.baidu.mapapi.map.BitmapDescriptor;

import com.baidu.mapapi.map.BitmapDescriptorFactory;

import com.baidu.mapapi.map.DotOptions;

import com.baidu.mapapi.map.MapStatusUpdate;

import com.baidu.mapapi.map.MapStatusUpdateFactory;

import com.baidu.mapapi.map.MapView;

import com.baidu.mapapi.map.MyLocationConfiguration;

import com.baidu.mapapi.map.MyLocationData;

import com.baidu.mapapi.map.TextOptions;

import com.baidu.mapapi.model.LatLng;

import com.baidu.nplatform.comapi.map.MapController;

public class MainActivity extends Activity {

MapView mMapView = null;

BaiduMap mBaiduMap;

String mm;

Button button;

double latitude;

double longitude;

BaiduMap bdMap;

private BMapManager mBMapManager;

BitmapDescriptor mCurrentMarker;

private MapController mMapController = null;

BDLocation location;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

SDKInitializer.initialize(getApplicationContext());

setContentView(R.layout.activity_main);

mMapView = (MapView)findViewById(R.id.bmapView);

bdMap = mMapView.getMap();

LocationClient locationClient = new LocationClient(getApplicationContext());

LocationClientOption locOption = new LocationClientOption();

locOption.setLocationMode(LocationMode.Hight_Accuracy);

locOption.setCoorType("bd0911");

locOption.setScanSpan(5000);

locOption.setIsNeedAddress(true);

locOption.setNeedDeviceDirect(true);

locationClient.setLocOption(locOption);

locationClient.registerLocationListener(new MyLocationListener());

locationClient.start();

button = (Button)findViewById(R.id.button);

button.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

LatLng ll = new LatLng(latitude, longitude);

MapStatusUpdate msu = MapStatusUpdateFactory.newLatLng(ll);

bdMap.animateMapStatus(msu);

Toast.makeText(MainActivity.this, mm, Toast.LENGTH_LONG).show();

TextOptions textOptions = new TextOptions();

textOptions.bgColor(0xFFFF00)

.fontSize(10)

.fontColor(0xFFFF00FF)

.text("当前位置")

.rotate(-30)

.position(ll);

bdMap.addOverlay(textOptions);

String mm =latitude+"";

String nn =longitude+"";

Toast.makeText(MainActivity.this, mm+"__"+nn, Toast.LENGTH_LONG).show();

}

});

}

class MyLocationListener implements BDLocationListener{

@Override

public void onReceiveLocation(BDLocation arg0) {

mm = arg0.getCity();

latitude  = arg0.getLatitude();

longitude = arg0.getLongitude();

location = arg0;

}

}

@Override

protected void onDestroy() {

super.onDestroy();

mMapView.onDestroy();

}

@Override

protected void onResume() {

super.onResume();

mMapView.onResume();

}

@Override

protected void onPause() {

super.onPause();

mMapView.onPause();

}

@Override

public boolean onCreateOptionsMenu(Menu menu) {

getMenuInflater().inflate(R.menu.main, menu);

return true;

}

@Override

public boolean onOptionsItemSelected(MenuItem item) {

int id = item.getItemId();

if (id == R.id.action_settings) {

return true;

}

return super.onOptionsItemSelected(item);

}

}

------解决思路----------------------

这个是很早就认定的事情,百度也会出来一堆结果的。

1.代码纠偏  2.查询纠偏数据库。

第1种方便些。

------解决思路----------------------

好单纯的楼主,我告诉你,在中国所有正规的地图都是偏的,谷歌地图不想偏被赶走了.

要在哪个地图上显示,就要使用哪个地图对应的转换函数,不能混用,而且不能反向转换.

------解决思路----------------------

1、试一下location.isOpenGps()

打开gps定位会不会好一些

2、BDLocationListener里,貌似获得了位置但是没在界面上更新吧?

这个看百度的location的demo就好了

------解决思路----------------------

CoordinateConverter类,限于V3以上版本。

我们用的著名的付费火星地图。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值