2012-05-03 3 views
0

У меня проблемы с простой задачей.Mapview geometoint удерживает экран

Я пытаюсь нарисовать квадрат в левом верхнем углу карты, показанной ниже. (Верхний левый угол проекции карты)

enter image description here

Но когда я конвертировать пиксель 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. И этот путь рисуется на экране, а не на карте. Поэтому, когда я отскакиваю, этот путь перемещается вместе с картой ... И я этого не хочу.

+0

Что вы имеете в виду под «на экране, а не на карте»? – ababzy

+0

Я хотел бы нарисовать многоугольник, который бы очистил плитку карты. Я пытаюсь сказать, что местоположение GeoPoints не находится на карте, а на экране. Было ли это полезно? – Cacamas

ответ

0

Почему вы переводите draw вместо addItem?

Вот video о том, как рисовать на карте

+0

Привет, tnx для ответа. Но я думаю, что это не то, что я ищу. Картинка google сделана из плиток. Номер плитки зависит от значения масштабирования. Я пытаюсь нарисовать конкретную плитку черным цветом, поэтому, когда пользователь входит в определенную плитку, я очищаю черную плитку. Я не нашел полезной информации. в Интернете, как это сделать. Я думал, что смогу сделать это с полигионом, связанным геосоединениями, которые являются ребрами из плитки. Но я не знаю, как нарисовать плитку в положении [0,0] ... – Cacamas

+0

Вот большая картина: http://i.msdn.microsoft.com/dynimg/IC5902.jpg Как может Я рисую плитку (0,0) до черного? – Cacamas

+0

Возможно, вы захотите создать «TableLayout», чтобы достичь этого. – ababzy