Карта Osmdroid размыта в устройствах Android - PullRequest
0 голосов
/ 18 ноября 2018

Я использую библиотеку osmdroid для поддержки функциональности osm-карт в моем приложении.

compile 'org.osmdroid:osmdroid-android:6.0.2'

Все работает нормально, но у меня есть одна проблема, связанная с отображением карты. Веб-сайт также разрабатывается для той же функциональности, что и приложение, и в Интернете они также используют карты OSM. Теперь проблема в том, что карта выглядит очень четко на веб-сайте, в то время как она выглядит размытой на устройствах Android.

Смотри скриншоты

Снимок экрана мобильного телефона

Android Screenshot

Веб-скриншот

Web

Ниже приведен мой код для загрузки карт в моем приложении для Android.

 binding.map.setTileSource(TileSourceFactory.MAPNIK);
                        binding.map.setTilesScaledToDpi(true);
                        binding.map.setBuiltInZoomControls(false);
                        binding.map.setMultiTouchControls(true);
                        if (gpsTracker.canGetLocation()) {
                            if (gpsTracker.getLocation() != null) {
                                currentLocation = gpsTracker.getLocation();
                                centreLocation = gpsTracker.getLocation();
                                addCurrentLocationMarker(currentLocation);
                                getMarkersInCurrentLocation(currentLocation);
                            } else {
                                gpsTracker.showSettingsAlert();
                            }

                        } else {
                            gpsTracker.showSettingsAlert();
                            //Toast.makeText(getApplicationContext(), "Unable to get current location", Toast.LENGTH_LONG).show();
                        }

Это связано с источником мозаики, который я использую?

1 Ответ

0 голосов
/ 19 ноября 2018

Это связано с binding.map.setTilesScaledToDpi (true), который масштабирует плитки в зависимости от разрешения вашего устройства. Попробуйте без: изображение будет чистым, но этикетки должны быть слишком маленькими, менее читаемыми.

AFAIK, хорошего решения пока нет: плитки OpenStreetMap недоступны при разрешении современных мобильных устройств.

- РЕДАКТИРОВАТЬ 12/12/2018 - Смотри https://github.com/osmdroid/osmdroid/issues/1217

...