Я использую OSMdroid для реализации картографического приложения.
Я реализовал пользовательский MapTileProvider, который использует источник листов, который позволяет увеличивать уровни до 22.
Поставщик MAPNIK по умолчанию разрешает увеличение только до 18 уровня.
Проблема в том, что любые экземпляры PathOverlay отрисовываются отлично до уровня масштабирования 19, но затем
не прорисованы должным образом при уровне масштабирования 20-22. похоже, что кто-то стирает дорожку с ластиком на 90% длины пути (см. скриншоты ниже).
Я прошел через метод draw () PathOverlay и exerything кажется, рассчитывается правильно (промежуточные точки кажутся правильными для ZoomLevel 22, а затем проекции XY делятся на 22-ZoomLevel для получить текущие координаты экрана).
Может ли кто-нибудь дать некоторое представление о том, в чем заключается проблема и как ее решить?
То же самое происходит, если я вызываю MapView с использованием небольших плиток Cloudmade, которые позволяют увеличивать изображение до уровня 20 и являются «встроенным» классом поставщиков плиток osmDroid.
//mMapTileProvider = new HighResMapTileProvider(this);
mMapTileProvider = new MapTileProviderBasic(this,TileSourceFactory.CLOUDMADESMALLTILES);
mMapView = new MapView(this, 256, mResourceProxy,mMapTileProvider);
Таким образом, проблема, по-видимому, связана не с источником или поставщиком листов, а с методом рисования на холсте. Любые идеи о том, как решить эту проблему?
На zoomLevel 19 я хорошо вижу свои пути:
Но вот тот же путь на следующем уровне масштабирования: