OSMDROID отображает несколько карт с полилиниями в Android - PullRequest
0 голосов
/ 07 сентября 2018

Я вижу несколько карт с ломаной линией при запуске приложения для Android. Как я могу показать только одну карту?

enter image description here

MainActivity:

public class MainActivity extends AppCompatActivity {

    MapView map;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        Context ctx = getApplicationContext();
        Configuration.getInstance().load(ctx,    PreferenceManager.getDefaultSharedPreferences(ctx));
        setContentView(R.layout.activity_main);



       map = findViewById(R.id.mapViewMain);
       map.setTileSource(TileSourceFactory.DEFAULT_TILE_SOURCE);
       map.setBuiltInZoomControls(true);
       map.setMultiTouchControls(true);

    }

    protected void onResume() {
        super.onResume();       
        map.onPause();  
    }

    protected void onPause() {
        super.onPause();
        map.onPause();
    }


}

Макет activity_main:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <org.osmdroid.views.MapView
        android:id="@+id/mapViewMain"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />
</LinearLayout>

Я хочу видеть только одну карту на моем устройстве.

1 Ответ

0 голосов
/ 07 сентября 2018

Ваш код правильный, и вы на самом деле видите только одну карту - то есть только на компоненте карты. Карта слишком сильно уменьшена и меньше, чем вид. Библиотека osmdroid решает эту проблему, повторяя карту в окне просмотра. Я не думаю, что есть способ отключить эту функцию.

Вы можете решить проблему, установив разумный уровень масштабирования.

map.setZoomLevel(12)
...