android 使用百度地图画轨迹
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;

public class BaiduMapActivity extends MapActivity {
private Context mContext;
private MapView mapView;
@Override
protected boolean isRouteDisplayed() {
// TODO Auto-generated method stub
return false;
}
private GeoPoint gpoint1, gpoint2, gpoint3;// 连线的点
@Override
protected 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 sdk
mapView = (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 {

@Override
public 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);
}
}

}

更多相关文章

  1. Android开发者已经度过了初级吗
  2. Android百度地图(三):百度地图画运动轨迹及图层点击事件处理
  3. Android 获取地理位置的经度和纬度
  4. 超级炫酷!HTML5 Canvas火焰画笔动画
  5. 尝试将纬度和经度发布到数据库时,Android JSON解析错误
  6. android 关于画笔特效的问题

随机推荐

  1. EditText组件drawableLeft属性设置的图片
  2. Android基于IIS的APK下载(四)数据下载
  3. Android(安卓)MVP 架构改造 ~ 如何重用顶
  4. Android(安卓)和H5之间的交互-框架篇
  5. android 游戏导引(3. 图形引擎之模型管理
  6. 究竟为什么开发者首选 iOS ?
  7. broadcast基础
  8. Android(安卓)弹无虚发之第一弹:Android(
  9. Android进程优先级
  10. 【Android】基础篇:Android中TextView控件