#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()