使用百度地图画轨迹
百度地图画轨迹连接线。
package com.life.hua.activity;import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.graphics.Paint.Style;import android.graphics.Path;import android.graphics.Point;import android.os.Bundle;import com.baidu.mapapi.BMapManager;import com.baidu.mapapi.GeoPoint;import com.baidu.mapapi.MapActivity;import com.baidu.mapapi.MapController;import com.baidu.mapapi.MapView;import com.baidu.mapapi.Overlay;import com.baidu.mapapi.Projection;import com.life.hua.activity.BaseApplication;import com.life.hua.activity.R;public class BaiduMapActivity extends MapActivity {private Context mContext;private MapView mapView;@Overrideprotected boolean isRouteDisplayed() {// TODO Auto-generated method stubreturn false;}private GeoPoint gpoint1, gpoint2, gpoint3;// 连线的点@Overrideprotected void onCreate(Bundle arg0) {super.onCreate(arg0);setContentView(R.layout.baidumap_layout);BaseApplication baseApp = (BaseApplication) this.getApplication();if (baseApp.mBMapManage == null) {baseApp.mBMapManage = new BMapManager(mContext);baseApp.mBMapManage.init(baseApp.mStrKey,new BaseApplication.MyGeneralListener());}baseApp.mBMapManage.start();super.initMapActivity(baseApp.mBMapManage);// 初始化map sdkmapView = (MapView) findViewById(R.id.bmapView);mapView.setBuiltInZoomControls(true);// 设置在缩放动画过程中也显示overlay,默认为不绘制mapView.setDrawOverlayWhenZooming(true);// RouteLine routeLine =// (RouteLine)getIntent().getSerializableExtra("routeLine");//这里画点和连接线MyOverlay myOverlay = new MyOverlay();mapView.getOverlays().add(myOverlay);MapController mapController = mapView.getController();mapController.zoomIn();gpoint1 = new GeoPoint((int) (2259316 * 10),(int) (11396279 * 10));gpoint2 = new GeoPoint((int) (2259245 * 10),(int) (11396226 * 10));gpoint3 = new GeoPoint((int) (2259121 * 10),(int) (11396066 * 10));mapController.animateTo(gpoint1);//设置一个起点}class MyOverlay extends Overlay {@Overridepublic void draw(Canvas canvas, MapView mapView, boolean shadow) {super.draw(canvas, mapView, shadow);Projection projection = mapView.getProjection();Point p1 = new Point();Point p2 = new Point();Point p3 = new Point();// 经度转像素projection.toPixels(gpoint1, p1);projection.toPixels(gpoint2, p2);projection.toPixels(gpoint3, p3);//第一个画笔 画圆Paint fillPaint = new Paint();fillPaint.setColor(Color.BLUE);fillPaint.setAntiAlias(true);fillPaint.setStyle(Style.FILL);// 将图画到上层canvas.drawCircle(p1.x, p1.y, 5.0f, fillPaint);canvas.drawCircle(p2.x, p2.y, 5.0f, fillPaint);canvas.drawCircle(p3.x, p3.y, 5.0f, fillPaint);//第二个画笔 画线Paint paint = new Paint();paint.setColor(Color.BLUE);paint.setDither(true);paint.setStyle(Paint.Style.STROKE);paint.setStrokeJoin(Paint.Join.ROUND);paint.setStrokeCap(Paint.Cap.ROUND);paint.setStrokeWidth(4);//连接Path path = new Path();path.moveTo(p1.x, p1.y);path.lineTo(p2.x, p2.y);path.lineTo(p3.x, p3.y);//画出路径canvas.drawPath(path, paint);}}}