2015-02-15 2 views
0

Фон: Я хочу нарисовать несколько полигонов на карте (всего несколько тысяч координат). Это довольно быстро работало на Google Maps V1 с помощью Overlays. Но Google Maps V2, похоже, не подходит для этого. Прежде всего, я пытался добавить полигоны непосредственно к карте,Google Maps V2: Изменяет ли поворот карты ориентацию TileOverlays?

googleMap.addPolygon(myPolygonOptions); 

, но это не просто непригодной медленно, кажется, багги тоже, потому что он всегда забывает некоторые многоугольники. Затем я попытался нарисовать многоугольник на невидимом представлении, расположенном над картой, путем рисования дорожек. Но метод

projection.toScreenLocation(geoCoordinate); 

является шуткой для своих «toPixels» карт Google Maps V1. Если Google Maps V1 занимает 1 секунду, Google Maps V2 занимает 21 (!) Секунд, поэтому это непригодно.

Тогда я подумал о том, чтобы дать Оверлейс попробовать. Ground overlays похоже, что я ищу:

Наложение земли - это изображение, прикрепленное к карте. В отличие от маркеров, Наземные накладки ориентированы относительно поверхности Земли, а не на экране, поэтому поворот, наклон или масштабирование карты изменят ориентацию изображения . Наземные накладки полезны, если вы хотите, чтобы фиксировал одно изображение в одной области на карте.

Но тогда я прочитал комментарий в this posting о том, что он тоже не работает и даже не работает хорошо.

Таким образом, последняя надежда Tile Overlays. Возникает вопрос: что происходит с оверлейными плитками при повороте карты. Изменяют ли они свою ориентацию или будут ли они ориентированы на нагрузку?

[UPDATE]
Я попытался GroundOverlays, и они довольно быстро, даже на старых смартфонах, так что я выберу этот подход.

ответ

0

Плитка будет повернута вместе с картой. TileProvider вообще не узнает о ротации. При рисовании плитка всегда ориентирована на север. Вы можете взглянуть на ответ на этот вопрос SO для очень удобного поставщика плитки: Google Maps API v2 draw part of circle on MapFragment

Смежные вопросы