zoukankan      html  css  js  c++  java
  • android 百度地图 画轨迹

      1. import android.content.Context;  
      2. import android.graphics.Canvas;  
      3. import android.graphics.Color;  
      4. import android.graphics.Paint;  
      5. import android.graphics.Paint.Style;  
      6. import android.graphics.Path;  
      7. import android.graphics.Point;  
      8. import android.os.Bundle;  
      9. import com.baidu.mapapi.BMapManager;  
      10. import com.baidu.mapapi.GeoPoint;  
      11. import com.baidu.mapapi.MapActivity;  
      12. import com.baidu.mapapi.MapController;  
      13. import com.baidu.mapapi.MapView;  
      14. import com.baidu.mapapi.Overlay;  
      15. import com.baidu.mapapi.Projection;  
      16.   
      17. public class BaiduMapActivity extends MapActivity {  
      18.         private Context mContext;  
      19.         private MapView mapView;  
      20.         @Override  
      21.         protected boolean isRouteDisplayed() {  
      22.                 // TODO Auto-generated method stub  
      23.                 return false;  
      24.         }  
      25.         private GeoPoint gpoint1, gpoint2, gpoint3;// 连线的点  
      26.         @Override  
      27.         protected void onCreate(Bundle arg0) {  
      28.                 super.onCreate(arg0);  
      29.                 setContentView(R.layout.baidumap_layout);  
      30.   
      31.                 BaseApplication baseApp = (BaseApplication) this.getApplication();  
      32.                 if (baseApp.mBMapManage == null) {  
      33.                         baseApp.mBMapManage = new BMapManager(mContext);  
      34.                         baseApp.mBMapManage.init(baseApp.mStrKey,  
      35.                                         new BaseApplication.MyGeneralListener());  
      36.                 }  
      37.                 baseApp.mBMapManage.start();  
      38.                 super.initMapActivity(baseApp.mBMapManage);// 初始化map sdk  
      39.                 mapView = (MapView) findViewById(R.id.bmapView);  
      40.                 mapView.setBuiltInZoomControls(true);  
      41.                 // 设置在缩放动画过程中也显示overlay,默认为不绘制  
      42.                 mapView.setDrawOverlayWhenZooming(true);  
      43.   
      44.                 // RouteLine routeLine =  
      45.                 // (RouteLine)getIntent().getSerializableExtra("routeLine");  
      46.   
      47.                 //这里画点和连接线  
      48.                 MyOverlay myOverlay = new MyOverlay();  
      49.                 mapView.getOverlays().add(myOverlay);  
      50.                   
      51.                 MapController mapController = mapView.getController();  
      52.                 mapController.zoomIn();  
      53.                   
      54.                 gpoint1 = new GeoPoint((int) (2259316 * 10),  
      55.                                 (int) (11396279 * 10));  
      56.                 gpoint2 = new GeoPoint((int) (2259245 * 10),  
      57.                                 (int) (11396226 * 10));  
      58.                 gpoint3 = new GeoPoint((int) (2259121 * 10),  
      59.                                 (int) (11396066 * 10));                  
      60.                 mapController.animateTo(gpoint1);//设置一个起点  
      61.         }  
      62.   
      63.         class MyOverlay extends Overlay {  
      64.   
      65.                 @Override  
      66.                 public void draw(Canvas canvas, MapView mapView, boolean shadow) {  
      67.                         super.draw(canvas, mapView, shadow);  
      68.                           
      69.                         Projection projection = mapView.getProjection();  
      70.                         Point p1 = new Point();  
      71.                         Point p2 = new Point();  
      72.                         Point p3 = new Point();  
      73.                         // 经度转像素  
      74.                         projection.toPixels(gpoint1, p1);  
      75.                         projection.toPixels(gpoint2, p2);  
      76.                         projection.toPixels(gpoint3, p3);  
      77.                   
      78.                         //第一个画笔 画圆  
      79.                         Paint fillPaint = new Paint();  
      80.                         fillPaint.setColor(Color.BLUE);  
      81.                         fillPaint.setAntiAlias(true);  
      82.                         fillPaint.setStyle(Style.FILL);  
      83.                           
      84.                         // 将图画到上层  
      85.                         canvas.drawCircle(p1.x, p1.y, 5.0f, fillPaint);  
      86.                         canvas.drawCircle(p2.x, p2.y, 5.0f, fillPaint);  
      87.                         canvas.drawCircle(p3.x, p3.y, 5.0f, fillPaint);  
      88.   
      89.                         //第二个画笔 画线  
      90.                         Paint paint = new Paint();  
      91.                         paint.setColor(Color.BLUE);  
      92.                         paint.setDither(true);  
      93.                         paint.setStyle(Paint.Style.STROKE);  
      94.                         paint.setStrokeJoin(Paint.Join.ROUND);  
      95.                         paint.setStrokeCap(Paint.Cap.ROUND);  
      96.                         paint.setStrokeWidth(4);  
      97.   
      98.                         //连接  
      99.                         Path path = new Path();  
      100.                         path.moveTo(p1.x, p1.y);  
      101.                         path.lineTo(p2.x, p2.y);  
      102.                         path.lineTo(p3.x, p3.y);  
      103.                         //画出路径  
      104.                         canvas.drawPath(path, paint);  
      105.                 }  
      106.         }  
      107.   

  • 相关阅读:
    Common Git command and mean (Windows)
    The method of using code coverage tool
    Auto login to your computer
    Clear all username or password for login.
    Python: how to public a model
    VS中,NUnit适合测试者尽心开发自动化测试,而Unit适合开发者开发单元测试。
    Use eplipse to develop Python project
    Prepare Python environment and install selenium.
    python 通过命令传参方式执行对应方法
    使用cat 命令生成自定义内容文件
  • 原文地址:https://www.cnblogs.com/rollrock/p/2622819.html
Copyright © 2011-2022 走看看