百度地图定位

转载 2016年06月01日 21:08:37
public class MainActivity extends Activity {
	    LocationClient mLocClient;
	    public MyLocationListenner myListener = new MyLocationListenner();
	    private LocationMode mCurrentMode;
	    BitmapDescriptor mCurrentMarker;
	    private static final int accuracyCircleFillColor = 0xAAFFFF88;
	    private static final int accuracyCircleStrokeColor = 0xAA00FF00;

	    MapView mMapView;
	    BaiduMap mBaiduMap;
	    TextView textView;
	    boolean isFirstLoc = true; // 是否首次定位
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        textView=(TextView) findViewById(R.id.textview);
     // 地图初始化
        mMapView = (MapView) findViewById(R.id.bmapView);
        mBaiduMap = mMapView.getMap();
        mCurrentMode = LocationMode.NORMAL;
        // 开启定位图层
        mBaiduMap.setMyLocationEnabled(true);
        // 定位初始化
        mLocClient = new LocationClient(getApplicationContext());
        mLocClient.registerLocationListener(myListener);
        LocationClientOption option = new LocationClientOption();
        option.setOpenGps(true); // 打开gps
        option.setCoorType("bd09ll"); // 设置坐标类型
        option.setScanSpan(1000);
        option.setIsNeedAddress(true);
        mLocClient.setLocOption(option);
//        mMapView.setVisibility(View.GONE);
        mLocClient.start();
    }
    /**
     * 定位SDK监听函数
     */
    public class MyLocationListenner implements BDLocationListener {

        @Override
        public void onReceiveLocation(BDLocation location) {
            // map view 销毁后不在处理新接收的位置
            if (location == null || mMapView == null) {
                return;
            }
            MyLocationData locData = new MyLocationData.Builder()
                    .accuracy(location.getRadius())
                            // 此处设置开发者获取到的方向信息,顺时针0-360
                    .direction(100).latitude(location.getLatitude())
                    .longitude(location.getLongitude()).build();
            mBaiduMap.setMyLocationData(locData);
            if (isFirstLoc) {
            	textView.setText("[我的位置]\n" + location.getStreet());
                isFirstLoc = false;
                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()));
            }
        }

        public void onReceivePoi(BDLocation poiLocation) {
        }
    }

    @Override
 public void onPause() {
        mMapView.onPause();
        super.onPause();
    }

    @Override
 public void onResume() {
        mMapView.onResume();
        super.onResume();
    }

    @Override
 public void onDestroy() {
        // 退出时销毁定位
        mLocClient.stop();
        // 关闭定位图层
        mBaiduMap.setMyLocationEnabled(false);
        mMapView.onDestroy();
        mMapView = null;
        super.onDestroy();
    }
}

	//布局
<TextView 
	    android:id="@+id/textview"
	    android:layout_width="match_parent"
	    android:layout_height="wrap_content"
	    />
    <com.baidu.mapapi.map.MapView
        android:id="@+id/bmapView"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:clickable="true" />

相关文章推荐

Andriod基础--百度地图定位功能

  • 2017年11月15日 10:26
  • 33.74MB
  • 下载

百度地图定位当前城市

  • 2017年11月17日 17:21
  • 21.76MB
  • 下载

获取GPS定位信息,并通过百度地图显示位置

flash,flex进行安卓或ios移动开发的时候,使用flash.sensors.Geolocation类,可以利用设备地理位置传感器获取GPS信息,可以获取的具体信息如下: 1,经度 2,纬度...

百度地图定位功能

  • 2017年10月26日 00:25
  • 9.54MB
  • 下载

百度地图定位及地图

  • 2016年12月28日 17:05
  • 58.59MB
  • 下载

Android学习——百度地图开发定位与显示Demo

百度地图给我们提供了非常丰富的API供我们进行二次开发。百度地图的SDK与定位SDK在今年6月份进行了更新。地图更新为3.0,定位更新为4.2。百度说:这次更新对接口有了较大部分的调整,与之前版本不兼...

百度地图定位及绘制路线

  • 2017年08月11日 09:08
  • 21.23MB
  • 下载

百度地图定位检索demo

  • 2015年11月05日 11:13
  • 15.29MB
  • 下载

Android:使用百度地图SDK定位当前具体位置(类似QQ发表说说的选择地点功能)

百度地图 Android SDK是一套基于Android 2.1及以上版本设备的应用程序接口。 可以使用该套 SDK开发适用于Android系统移动设备的地图应用,通过调用地图SDK接口,可以轻松访问...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:百度地图定位
举报原因:
原因补充:

(最多只允许输入30个字)