Java 如何在android中在地图上的地理点之间绘制虚线?
我已经在这里提到了链接,在那里Java 如何在android中在地图上的地理点之间绘制虚线?,java,android,Java,Android,我已经在这里提到了链接,在那里 Bitmap bmp = BitmapFactory.decodeResource(this.getResources(),R.drawable.greenflag); Bitmap bmp = BitmapFactory.decodeResource(this.getResources(),R.drawable.redflag); 在drawble.greenflag中,即图像文件或xml文件?使用此选项在两个地理点之间绘制线 class MyOverlay
Bitmap bmp = BitmapFactory.decodeResource(this.getResources(),R.drawable.greenflag);
Bitmap bmp = BitmapFactory.decodeResource(this.getResources(),R.drawable.redflag);
在drawble.greenflag中,即图像文件或xml文件?使用此选项在两个地理点之间绘制线
class MyOverlay extends Overlay
{
public MyOverlay() {
}
public void draw(Canvas canvas, MapView mapv, boolean shadow) {
super.draw(canvas, mapv, shadow);
Paint mPaint = new Paint();
mPaint.setDither(true);
mPaint.setColor(Color.RED);
mPaint.setStyle(Paint.Style.FILL_AND_STROKE);
mPaint.setStrokeJoin(Paint.Join.ROUND);
mPaint.setStrokeCap(Paint.Cap.ROUND);
mPaint.setStrokeWidth(100);
for (int i = 0; i < numPoints - 1; i++) {
float latiA = (float) Double.parseDouble(latlong[i].getLat());
float longiA = (float) Double.parseDouble(latlong[i].getLon());
float latiB = (float) Double.parseDouble(latlong[i + 1].getLat());
float longiB = (float) Double.parseDouble(latlong[i + 1].getLon());
//distance = getDistance(latiA, longiA, latiB, longiB);
int latA = (int) (1000000 * Double.parseDouble(latlong[i].getLat()));
int longA = (int) (1000000 * Double.parseDouble(latlong[i].getLon()));
int latB = (int) (1000000 * Double.parseDouble(latlong[i + 1].getLat()));
int longB = (int) (1000000 * Double.parseDouble(latlong[i + 1].getLon()));
GeoPoint gP1 = new GeoPoint(latA, longA);
GeoPoint gP2 = new GeoPoint(latB, longB);
Point p1 = new Point();
Point p2 = new Point();
Path path = new Path();
projection.toPixels(gP1, p1);
projection.toPixels(gP2, p2);
path.moveTo(p2.x, p2.y);
path.lineTo(p1.x, p1.y);
canvas.drawPath(path, mPaint);
}
}
}
类MyOverlay扩展覆盖
{
公共MyOverlay(){
}
公共空白绘制(画布、MapView mapv、布尔阴影){
super.draw(画布、贴图、阴影);
Paint mPaint=新油漆();
mPaint.setDither(true);
mPaint.setColor(Color.RED);
mPaint.setStyle(绘制、样式、填充和笔划);
mPaint.setStrokeJoin(油漆.连接.圆形);
mPaint.setStrokeCap(油漆盖圆形);
mPaint.设定行程宽度(100);
对于(int i=0;i
publicvoiddraw(Canvas-Canvas、MapView-mapv、boolean-shadow)在这种情况下,您能给出Canvas声明格式吗?