как узнать, где рисовать на карте? (Android)

#android #maps #overlay #projection

#Android #Карты #наложение #проекция

Вопрос:

Я пытаюсь нарисовать что-то на карте, используя наложения. Итак, у меня есть координаты мест, которые я хочу нарисовать. Я запускаю свою карту на определенной длине / широте и рисую, используя обычные точки экрана, такие как (1,1), (2,3) и так далее. Но что, если карта изменится? Как make может предотвратить «разрыв» моего рисунка? Итак, для упрощения и иллюстрации. Допустим, я рисую прямоугольники на экране. Мой прямоугольник имеет 20 пикселей / 30 пикселей (стороны). Должен ли я рисовать первый в (0,0). Следующим может быть (21,0), а следующим (0,31). Итак, если я немного сдвину экран в сторону, как я могу убедиться, что я буду рисовать как четвертый прямоугольник в (21,31) относительно того, каким был мой экран раньше.

большое вам спасибо!

Комментарии:

1. Вы хотите, чтобы прямоугольник находился в фиксированном положении на экране или перемещался вместе с проводами?

2. Я хочу, чтобы он перемещался вместе с проводами.. Так, например, допустим, я рисую большой прямоугольник (состоящий из 4 меньших) поверх Европы. Я рисую 2 маленьких, затем провожу пальцем, затем перемещаю карту. Как я могу нарисовать следующие 2 рядом с другими 2, которые у меня были раньше?

Ответ №1:

Вам нужно связать широту, длину с углами вашего прямоугольника, если вы хотите, чтобы они отображались в определенном месте. Это может быть проще сделать с помощью Maps API Poly line.

Ответ №2:

Вам необходимо преобразовать координаты пикселей в значения широты / широты и обратно

Загляните в mapview.getProjection(); в частности, toPixels() и fromPixels()

Смотрите http://code.google.com/android/add-ons/google-apis/reference/com/google/android/maps/MapView.html#getProjection()