gpt4 book ai didi

android - 如何在 MapView 上附加自定义 map ? [安卓]

转载 作者:太空狗 更新时间:2023-10-29 14:27:23 24 4
gpt4 key购买 nike

我有一个关于 Mapview 的问题。我有一张图片,它是一张 map 小区域(例如:http://goo.gl/tKQM6)。

我可以在 map View 中使用这张图片吗?如果可能的话,我可以使用叠加层吗和其他 map View 操作?我可以为不同的缩放级别添加不同的图像。

如果无法使用 Google map 执行此操作,是否还有其他方法可以执行此操作这个?

谢谢。

最佳答案

我已经成功地在 map 上画了一个圆圈。为此,我重写了 ItemizedOverlay 的绘制方法,并在其中执行了一些 Canvas 和绘画操作。像那样:

public class DepartureItemizdOverlay extends ItemizedOverlay { 
.......
......


public boolean draw(Canvas canvas, MapView mapView, boolean shadow,
long when) {

Paint paint;
paint = new Paint();
paint.setColor(Color.BLUE);
paint.setAntiAlias(true);
float strockWidth = Departure.gpsAccuracy / ACCURACY_width_constant;
if(strockWidth >= MAX_STROCK_WIDTH)
strockWidth = MAX_STROCK_WIDTH;
Projection projection = mapView.getProjection();
Point point = new Point();
projection.toPixels(mOverlays.get(GPS_DETECTED_GP_INDEX).getPoint(), point);
float circleRadius = (float) (projection.metersToEquatorPixels
(Departure.MAX_DISTANCE_gps_dep) * (1/
Math.cos(Math.toRadians(mOverlays.
get(GPS_DETECTED_GP_INDEX).getPoint().
getLatitudeE6()/1E6))));

paint.setStyle(Style.FILL);
paint.setAlpha(30);
canvas.drawCircle(point.x, point.y, circleRadius, paint);

paint.setStyle(Style.STROKE);
paint.setStrokeWidth(MAX_STROCK_WIDTH);
paint.setAlpha(100);
canvas.drawCircle(point.x, point.y, circleRadius, paint);


mapView.postInvalidate();


return super.draw(canvas, mapView, shadow, when);
}

.....

}

关于android - 如何在 MapView 上附加自定义 map ? [安卓],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10846168/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com