當前位置:首頁 » 安卓系統 » android地圖繪制

android地圖繪制

發布時間: 2023-02-19 14:09:16

㈠ android上怎麼實現 手繪地圖功能

1、獲取Android端的坐標、放大系數等參數,回傳到服務端繪制好圖片和相關數據後回傳到Android端.

2、提前准備好圖片和數據放到Androd端,然後根據相關參數選擇合適的數據和圖片。

㈡ android 百度地圖上怎麼畫線,畫圓

//代碼如下
importandroid.content.Context;
importandroid.graphics.Canvas;
importandroid.graphics.Color;
importandroid.graphics.Paint;
importandroid.graphics.Paint.Style;
importandroid.graphics.Path;
importandroid.graphics.Point;
importandroid.os.Bundle;
importcom..mapapi.BMapManager;
importcom..mapapi.GeoPoint;
importcom..mapapi.MapActivity;
importcom..mapapi.MapController;
importcom..mapapi.MapView;
importcom..mapapi.Overlay;
importcom..mapapi.Projection;

{
privateContextmContext;
privateMapViewmapView;
@Override
(){
//TODOAuto-generatedmethodstub
returnfalse;
}
privateGeoPointgpoint1,gpoint2,gpoint3;//連線的點
@Override
protectedvoidonCreate(Bundlearg0){
super.onCreate(arg0);
setContentView(R.layout.map_layout);

BaseApplicationbaseApp=(BaseApplication)this.getApplication();
if(baseApp.mBMapManage==null){
baseApp.mBMapManage=newBMapManager(mContext);
baseApp.mBMapManage.init(baseApp.mStrKey,
newBaseApplication.MyGeneralListener());
}
baseApp.mBMapManage.start();
super.initMapActivity(baseApp.mBMapManage);//初始化mapsdk
mapView=(MapView)findViewById(R.id.bmapView);
mapView.setBuiltInZoomControls(true);
//設置在縮放動畫過程中也顯示overlay,默認為不繪制
mapView.setDrawOverlayWhenZooming(true);

//RouteLinerouteLine=
//(RouteLine)getIntent().getSerializableExtra("routeLine");

//這里畫點和連接線
MyOverlaymyOverlay=newMyOverlay();
mapView.getOverlays().add(myOverlay);

MapControllermapController=mapView.getController();
mapController.zoomIn();

gpoint1=newGeoPoint((int)(2259316*10),
(int)(11396279*10));
gpoint2=newGeoPoint((int)(2259245*10),
(int)(11396226*10));
gpoint3=newGeoPoint((int)(2259121*10),
(int)(11396066*10));
mapController.animateTo(gpoint1);//設置一個起點
}

classMyOverlayextendsOverlay{

@Override
publicvoiddraw(Canvascanvas,MapViewmapView,booleanshadow){
super.draw(canvas,mapView,shadow);

Projectionprojection=mapView.getProjection();
Pointp1=newPoint();
Pointp2=newPoint();
Pointp3=newPoint();
//經度轉像素
projection.toPixels(gpoint1,p1);
projection.toPixels(gpoint2,p2);
projection.toPixels(gpoint3,p3);

//第一個畫筆畫圓
PaintfillPaint=newPaint();
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);

//第二個畫筆畫線
Paintpaint=newPaint();
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);

//連接
Pathpath=newPath();
path.moveTo(p1.x,p1.y);
path.lineTo(p2.x,p2.y);
path.lineTo(p3.x,p3.y);
//畫出路徑
canvas.drawPath(path,paint);
}
}

}

㈢ 基於android做推箱子游戲,地圖如何繪制啊。三層地圖 謝謝了,求大神

實在不行就直接opengl

㈣ android 開發使用最新百度地圖如何畫軌跡

android 使用網路地圖畫軌跡

java">importandroid.content.Context;
importandroid.graphics.Canvas;
importandroid.graphics.Color;
importandroid.graphics.Paint;
importandroid.graphics.Paint.Style;
importandroid.graphics.Path;
importandroid.graphics.Point;
importandroid.os.Bundle;
importcom..mapapi.BMapManager;
importcom..mapapi.GeoPoint;
importcom..mapapi.MapActivity;
importcom..mapapi.MapController;
importcom..mapapi.MapView;
importcom..mapapi.Overlay;
importcom..mapapi.Projection;

{
privateContextmContext;
privateMapViewmapView;
@Override
(){
//TODOAuto-generatedmethodstub
returnfalse;
}
privateGeoPointgpoint1,gpoint2,gpoint3;//連線的點
@Override
protectedvoidonCreate(Bundlearg0){
super.onCreate(arg0);
setContentView(R.layout.map_layout);

BaseApplicationbaseApp=(BaseApplication)this.getApplication();
if(baseApp.mBMapManage==null){
baseApp.mBMapManage=newBMapManager(mContext);
baseApp.mBMapManage.init(baseApp.mStrKey,
newBaseApplication.MyGeneralListener());
}
baseApp.mBMapManage.start();
super.initMapActivity(baseApp.mBMapManage);//初始化mapsdk
mapView=(MapView)findViewById(R.id.bmapView);
mapView.setBuiltInZoomControls(true);
//設置在縮放動畫過程中也顯示overlay,默認為不繪制
mapView.setDrawOverlayWhenZooming(true);

//RouteLinerouteLine=
//(RouteLine)getIntent().getSerializableExtra("routeLine");

//這里畫點和連接線
MyOverlaymyOverlay=newMyOverlay();
mapView.getOverlays().add(myOverlay);

MapControllermapController=mapView.getController();
mapController.zoomIn();

gpoint1=newGeoPoint((int)(2259316*10),
(int)(11396279*10));
gpoint2=newGeoPoint((int)(2259245*10),
(int)(11396226*10));
gpoint3=newGeoPoint((int)(2259121*10),
(int)(11396066*10));
mapController.animateTo(gpoint1);//設置一個起點
}

classMyOverlayextendsOverlay{

@Override
publicvoiddraw(Canvascanvas,MapViewmapView,booleanshadow){
super.draw(canvas,mapView,shadow);

Projectionprojection=mapView.getProjection();
Pointp1=newPoint();
Pointp2=newPoint();
Pointp3=newPoint();
//經度轉像素
projection.toPixels(gpoint1,p1);
projection.toPixels(gpoint2,p2);
projection.toPixels(gpoint3,p3);

//第一個畫筆畫圓
PaintfillPaint=newPaint();
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);

//第二個畫筆畫線
Paintpaint=newPaint();
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);

//連接
Pathpath=newPath();
path.moveTo(p1.x,p1.y);
path.lineTo(p2.x,p2.y);
path.lineTo(p3.x,p3.y);
//畫出路徑
canvas.drawPath(path,paint);
}
}

}
熱點內容
編譯不成功怎麼辦 發布:2025-05-16 10:35:54 瀏覽:610
如何修改密碼找回 發布:2025-05-16 10:35:53 瀏覽:568
怎麼才能編譯本書 發布:2025-05-16 10:27:47 瀏覽:757
ssd伺服器電腦 發布:2025-05-16 10:26:25 瀏覽:827
水果忍者源碼 發布:2025-05-16 10:26:22 瀏覽:472
python中ord函數 發布:2025-05-16 10:14:25 瀏覽:340
電腦啟動後無法連接伺服器 發布:2025-05-16 10:06:39 瀏覽:984
jar包編譯過程 發布:2025-05-16 10:03:37 瀏覽:679
選舉源碼 發布:2025-05-16 09:58:59 瀏覽:749
超級訪問陳小春應采兒 發布:2025-05-16 09:43:29 瀏覽:479