百度地图开发之实现运动轨迹 <二>

上篇日志有介绍到开发百度地图的几个重要的类还有方法,现在就来实现在百度地图上描绘出运动轨迹,具体步骤如下:

一,在布局文件里声明百度地图的视图
二,在用百度地图时,先要将地图初始化:

                // 地图初始化
        mMapView = (MapView) v.findViewById(R.id.bmapView);
        mBaiduMap = mMapView.getMap();

三,然后开启定位图层:

                // 开启定位图层
        mBaiduMap.setMyLocationEnabled(true);

四,再开启交通图层:

                // 开启交通图
        mBaiduMap.setTrafficEnabled(true);
        mBaiduMap.setMapStatus(MapStatusUpdateFactory
                .newMapStatus(new MapStatus.Builder().zoom(17).build()));// 设置缩放级别

五,定位初始化:

                // 定位初始化
        mLocClient = new LocationClient(getActivity());
        mLocClient.registerLocationListener(myListener);
        LocationClientOption option = new LocationClientOption();
        option.setOpenGps(true);// 打开gps
        option.setCoorType("bd09ll"); // 设置坐标类型
        option.setScanSpan(1000);
        mLocClient.setLocOption(option);
        mLocClient.start();

六,声明定位相关的对象,LocationClient(用于定位),MyLocationListenner(地用于坚监听地理位置),BaiduMap(用于操作地图),MapView(地图对象),OverlayOptions(图层选项),DotOptions(创建圆点的选项类, 继承自 #OverlayOptions),
LatLng(地图位置参数,这里存放的应该是经纬度)
三,画出线路的算法是,声明一个地图位置的集合 :

List < LatLng >  pointstwo = new ArrayList < LatLng >();

这里采用定时器,每隔一定时间就搜集一次地理位置,然后将每个点在地图上描绘出来:


OverlayOptions ooDot = new DotOptions().center(p2).radius(6)
                        .color(0xAAFF0000);
mBaiduMap.addOverlay(ooDot);// 将该点添加到地图上

最后连成线即可:

// PolylineOptions 创建折线覆盖物选项类
OverlayOptions ooPolyline = new PolylineOptions().width(4).color(0xAAFF0000).points(pointstwo);
mBaiduMap.addOverlay(ooPolyline);
p1 = p2;
mLocClient.requestLocation();

以上就是实现画出路线的操作。

你可能感兴趣的:(学习日志)