lio*_*fly 9 gps android google-maps overlay itemizedoverlay
我已经能够使用"MapActivity"和"ItemizedOverlay"在Android上使用Eclipse在Google地图上绘制叠加层.但是当地图放大和缩小时,叠加层不会改变大小.
我希望叠加层在地图上"固定",并与地图一起放大和缩小.如何才能做到这一点?
我找不到定义边界的教程(例如,将GPS坐标作为叠加图像的角).如果您了解一些,请提供链接.
这样做的任何其他方式?
非常感谢.
小智 7
就在这里.我的申请也有同样的问题.这是一个例子,它完美地运作.此处绘制的圆圈在放大和缩小地图时会缩放.
在你的Overlay课程中:
public class ImpactOverlay extends Overlay {
private static int CIRCLERADIUS = 0;
private GeoPoint geopoint;
public ImpactOverlay(GeoPoint point, int myRadius) {
geopoint = point;
CIRCLERADIUS = myRadius;
}
@Override
public void draw(Canvas canvas, MapView mapView, boolean shadow) {
// Transfrom geoposition to Point on canvas
Projection projection = mapView.getProjection();
Point point = new Point();
projection.toPixels(geopoint, point);
// the circle to mark the spot
Paint circle = new Paint();
circle.setColor(Color.BLACK);
int myCircleRadius = metersToRadius(CIRCLERADIUS, mapView, (double)geopoint.getLatitudeE6()/1000000);
canvas.drawCircle(point.x, point.y, myCircleRadius, circle);
}
public static int metersToRadius(float meters, MapView map, double latitude) {
return (int) (map.getProjection().metersToEquatorPixels(meters) * (1/ Math.cos(Math.toRadians(latitude))));
}
}
Run Code Online (Sandbox Code Playgroud)
当您的叠加层从缩放重新绘制时,标记将根据meterToRadius比例调整大小.希望能帮助到你.
| 归档时间: |
|
| 查看次数: |
5038 次 |
| 最近记录: |