百度地图的重要部分

来源:互联网 发布:北大培文杯网络赛 编辑:程序博客网 时间:2024/05/22 17:31
你可以百度一下百度地图开发平台
public class LocationActivity extends AppCompatActivity {    private MapView mMapView;    private BaiduMap baiduMap;    //定位客户端    public LocationClient mLocationClient = null;    //定位监听器    public BDLocationListener myListener = new MyLocationListener();    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_location);        mMapView = (MapView) findViewById(R.id.bmapView);        baiduMap = mMapView.getMap();        //开始在地图上的地位功能        baiduMap.setMyLocationEnabled(true);        mLocationClient = new LocationClient(getApplicationContext());     //声明LocationClient类        mLocationClient.registerLocationListener(myListener);    //注册监听函数        initLocation();        mLocationClient.start();  //开启定位    }    private void initLocation() {        LocationClientOption option = new LocationClientOption();        option.setLocationMode(LocationClientOption.LocationMode.Hight_Accuracy        );//可选,默认高精度,设置定位模式,高精度,低功耗,仅设备        option.setCoorType("bd09ll");//可选,默认gcj02,设置返回的定位结果坐标系        int span = 1000;        option.setScanSpan(span);//可选,默认0,即仅定位一次,设置发起定位请求的间隔需要大于等于1000ms才是有效的        option.setIsNeedAddress(true);//可选,设置是否需要地址信息,默认不需要        option.setOpenGps(true);//可选,默认false,设置是否使用gps        option.setLocationNotify(true);//可选,默认false,设置是否当GPS有效时按照1S/1次频率输出GPS结果        option.setIsNeedLocationDescribe(true);//可选,默认false,设置是否需要位置语义化结果,可以在BDLocation.getLocationDescribe里得到,结果类似于“在北京天安门附近”        option.setIsNeedLocationPoiList(true);//可选,默认false,设置是否需要POI结果,可以在BDLocation.getPoiList里得到        option.setIgnoreKillProcess(false);//可选,默认true,定位SDK内部是一个SERVICE,并放到了独立进程,设置是否在stop的时候杀死这个进程,默认不杀死        option.SetIgnoreCacheException(false);//可选,默认false,设置是否收集CRASH信息,默认收集        option.setEnableSimulateGps(false);//可选,默认false,设置是否需要过滤GPS仿真结果,默认需要        mLocationClient.setLocOption(option);    }    public class MyLocationListener implements BDLocationListener {        @Override        public void onReceiveLocation(BDLocation location) {            String addr = location.getAddrStr();    //获取详细地址信息            String country = location.getCountry();    //获取国家            String province = location.getProvince();    //获取省份            String city = location.getCity();    //获取城市            String district = location.getDistrict();    //获取区县            String street = location.getStreet();    //获取街道信息            Log.i("Tag","addr=="+addr+",country=="+country);//            在地图上绘制具体定位的位置
//            自己写            MyLocationData locationData = new MyLocationData.Builder().                    accuracy(location.getRadius())                    .latitude(location.getLatitude())                    .longitude(location.getLongitude())                    .direction(100).build();            baiduMap.setMyLocationData(locationData);        }    }}

原创粉丝点击