百度地图使用总结

Posted lxn_李小牛

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了百度地图使用总结相关的知识,希望对你有一定的参考价值。

前言

这篇文章总结一下项目开发过程中,百度地图使用到的一些东西

1.封装定位管理类

/**
 * 定位管理
 */

public class LocationManager 
    private static LocationManager mInstance;
    private LocationClient mLocationClient;
    private LocationClientOption option;

    public static LocationManager getInstance() 
        if (mInstance == null) 
            mInstance = new LocationManager();
        
        return mInstance;
    
    
    //初始化设置
    void init(Context context) 
        mLocationClient = new LocationClient(context);
        option = new LocationClientOption();
        option.setOpenGps(true); // 打开gps
        option.setIsNeedAddress(true);//是否需要地址信息
        option.setCoorType("bd09ll"); // 返回百度经纬度坐标系
        option.setScanSpan(30000);//发起请求定位间隔,默认0,大于1000ms才有效,这里指定30秒定位一次
        mLocationClient.setLocOption(option);
        mLocationClient.registerLocationListener(new BDAbstractLocationListener() 
            @Override
            public void onReceiveLocation(BDLocation bdLocation) 
                //此处可以发送定位成功的消息
            
        );
    

    //设置定位间隔
    public void setScanSpan(int scanSpan) 
        option.setScanSpan(scanSpan);
        mLocationClient.setLocOption(option);
    

    public LocationClient getLocationClient() 
        return mLocationClient;
    

2.当前定位位置添加自定义图标

  //设置这个才能显示图标
        mBaidumap.setMyLocationEnabled(true);
        //设置自定义定位样式
        BitmapDescriptor marker = BitmapDescriptorFactory.fromResource(R.drawable.location_me);
        MyLocationConfiguration.LocationMode normal = MyLocationConfiguration.LocationMode.NORMAL;
        MyLocationConfiguration configuration = new MyLocationConfiguration(normal, true, marker,
                accuracyCircleFillColor, accuracyCircleStrokeColor);
        mBaidumap.setMyLocationConfiguration(configuration);
        MyLocationData myLocationData = new MyLocationData.Builder()
                .accuracy(3.0f)
                //纬度
                .latitude(startLat)
                //经度
                .longitude(startLng).build();
        mBaidumap.setMyLocationData(myLocationData);
        LatLng ll = new LatLng(startLat,
                startLng);
        MapStatus.Builder builder = new MapStatus.Builder();
        builder.target(ll).zoom(18.0f);
        mBaidumap.animateMapStatus(MapStatusUpdateFactory.newMapStatus(builder.build()));


以上是关于百度地图使用总结的主要内容,如果未能解决你的问题,请参考以下文章

百度地图总结

百度地图总结第三篇之定位(我的位置)

iOS百度地图路径规划和POI检索详细总结-b

android 百度地图系列之地图初始化及定位

调取百度地图问题总结

ios之苹果和百度地图的使用