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);
}
}
}
熱點內容