Я использую Google Maps в Android. Я создал многоугольник точек и использую его как геозону для запуска некоторых действий.
Я хотел бы взять многоугольник точек и преобразовать их в прямоугольник, чтобы я мог вызывать аннулирование только в области прямоугольника. Как мы знаем, экран андроида лишен прямоугольников, и мы можем, когда мы вызываем invalidate () для представления, у нас есть возможность сделать недействительной (перерисовать) только область прямоугольника. это более эффективно, чем перерисовывать весь экран, когда изменилась только его часть. На карте я знаю только это. внутри области геозоны изменились мои представления (там я на самом деле делаю анимацию).
так что я google класс полигонов , и если я назову многоугольник? .Points, у него есть список объектов LatLng. я могу использовать GoogleMap.projection
получить соответствующие координаты экрана на телефоне с координатами hps gps в списке polygon.points. Но теперь я хочу позвонить:
postInvalidateOnAnimation и передайте координаты области прямоугольника, которые являются "грязными", чтобы он мог перерисовать его. но затем в документах для недействительного метода
я вижу следующее примечание:
Этот метод устарел на уровне API 28.
Переход к аппаратному ускорению рендеринга в API 14 уменьшил важность грязного прямоугольника. В API 21 данный прямоугольник полностью игнорируется в пользу вычисляемой внутри области. Из-за этого клиентам рекомендуется просто вызывать invalidate ().
это только для api 28 и выше или от 14 и выше, что проходить грязный прямоугольник бессмысленно? если еще есть точка, как я могу преобразовать точки многоугольника (много точек) в координаты прямоугольника (4 точки)?