У меня проблемы с простой задачей.Mapview geometoint удерживает экран
Я пытаюсь нарисовать квадрат в левом верхнем углу карты, показанной ниже. (Верхний левый угол проекции карты)
Но когда я конвертировать пиксель 0,0 широты и долготы с TileSystem (TileSystem.PixelXYToLatLong
) точка выглядит как это рисуется на экране, а не на карте. .. Зачем?
Код:
@Override
public void draw(Canvas canvas, MapView mapView, boolean shadow) {
// Translate point to x y coordinates on the screen
Paint paint = new Paint();
paint.setStyle(Paint.Style.FILL);
Point point1_draw = new Point();
Point point2_draw = new Point();
Point point3_draw = new Point();
Point point4_draw = new Point();
mapView.getProjection().toPixels(geoPointFromScreenCoords(0,0,mapView),
point1_draw);
mapView.getProjection().toPixels(geoPointFromScreenCoords(0,100,mapView),
point2_draw);
mapView.getProjection().toPixels(geoPointFromScreenCoords(100,0,mapView),
point3_draw);
mapView.getProjection().toPixels(geoPointFromScreenCoords(100,100,mapView),
point4_draw);
Path path = new Path();
path.setFillType(Path.FillType.EVEN_ODD);
path.moveTo(point1_draw.x, point1_draw.y);
path.lineTo(point2_draw.x, point2_draw.y);
path.lineTo(point3_draw.x, point3_draw.y);
path.lineTo(point4_draw.x, point4_draw.y);
path.lineTo(point1_draw.x, point1_draw.y);
path.close();
//canvas.drawCircle(120, 20, 15, paint);
canvas.drawPath(path, paint);
super.draw(canvas, mapView, false);
}`
Я простирающийся ItemizedOverlay. И этот путь рисуется на экране, а не на карте. Поэтому, когда я отскакиваю, этот путь перемещается вместе с картой ... И я этого не хочу.
Что вы имеете в виду под «на экране, а не на карте»? – ababzy
Я хотел бы нарисовать многоугольник, который бы очистил плитку карты. Я пытаюсь сказать, что местоположение GeoPoints не находится на карте, а на экране. Было ли это полезно? – Cacamas