您的位置:首页 > 其它

百度地图之定位当前

2016-01-31 13:17 197 查看
首先呢,就是把SDK集成下 这里面的jar有点多,是因为我还再做其他的功能。不过定位的在里面,今天就简简单单的来定下位

1. //在使用SDK各组件之前初始化context信息,传入ApplicationContext



//注意该方法要再setContentView方法之前实现  
        SDKInitializer.initialize(getApplicationContext());


2. //获取地图控件引用 并且得到BaiduMap的操作对象

MapView  mMapView = (MapView) findViewById(R.id.bmapView);  
         BaiduMap mBaiduMap = mMapView.getMap();


3.生成LocationClient 客户端并且为之注册定位的监听和配置LocationClient


LocationClient mLocationClient = new LocationClient(this);
        mLocationClient.registerLocationListener(new MyLocationListener());
        LocationClientOption option = new LocationClientOption();
	option.setLocationMode(LocationMode.Hight_Accuracy);//默认高精度,设置定位模式,高精度,低功耗,仅设备
	option.setCoorType(gcj02);//默认gcj02,设置返回的定位结果坐标系,
	 int span=1000;
	 option.setScanSpan(span);//默认0,即仅定位一次,设置发起定位请求的间隔需要大于等于1000ms才是有效的
	 option.setIsNeedAddress(true);//设置是否需要地址信息,默认不需要
	option.setOpenGps(true);//默认false,设置是否使用gps
	  option.setLocationNotify(true);//默认false,设置是否当gps有效时按照1S1次频率输出GPS结果
	  option.setIgnoreKillProcess(true);//默认true,定位SDK内部是一个SERVICE,并放到了独立进程,设置是否在stop的时候杀死这个进程,默认不杀死
	 mLocationClient.setLocOption(option);
        mLocationClient.start();//定位SDK start之后会默认发起一次定位请求,开发者无须判断isstart并主动调用request
        mLocationClient.requestLocation();


4.实现定位的监听 (标注当前的位置)

/**
	     * 实现实时位置回调监听
	     */
	    public class MyLocationListener implements BDLocationListener {

	        @Override
	        public void onReceiveLocation(BDLocation location) {
	            //Receive Location
	        	//标注自己当前的位置
	        	marker(location.getLatitude(),location.getLongitude());
	          
	        }

  	//标注当前的位置
	private void marker(double argo,double arg1){
		//定义Maker坐标点  
		LatLng point = new LatLng(argo, arg1);  
		//构建Marker图标  
		BitmapDescriptor bitmap = BitmapDescriptorFactory  
		    .fromResource(R.drawable.ic_launcher);  
		//构建MarkerOption,用于在地图上添加Marker  
		
		OverlayOptions option = new MarkerOptions()  
		    .position(point)  
		    .icon(bitmap);  
		//在地图上添加Marker,并显示  
		mBaiduMap.addOverlay(option);
	}


百度地图的简单定位完成!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: