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 ImageSwitcher案例
  2. Android检索图像
  3. android例子分析-1
  4. android:使用webview加载网页
  5. android:编写属性动画程序(旋转,缩放,淡出淡入)
  6. Android(安卓)ProgressBar 进度条颜色和背景颜色
  7. android MediaRecorder 视频录制
  8. android EditText组件
  9. Android(安卓)闹钟以及通知

随机推荐

  1. How To Debug Android(安卓)Widgets
  2. Android(安卓)高德地图 Native method no
  3. 系出名门 Android(安卓)系列文章索引
  4. android
  5. Android(安卓)Material Design: Navigati
  6. android UI小结(二)
  7. android ellipsize的使用
  8. anroid的RelativeLayout的一些xml配置
  9. android
  10. 【Android】Android(安卓)广播大全