我想在活動中並排使用兩個地圖片段,每個都有不同的片段。計劃在左側的地圖上顯示特定區域的概覽,右側的地圖將放大到特定的點。在一個活動中使用兩個osmdroid地圖視圖
時遇到的問題是,僅第一(左)地圖片段被正確所示,第二(右)示出了一個在世界地圖:
縮放沒有在右邊工作地圖。
這裏是我正在使用的代碼的一部分:
private void initializeMap()
{
MapTileProviderBasic tileProviderOSM = new MapTileProviderBasic(getApplicationContext());
ITileSource tileSourceOSM = new XYTileSource("OpenFireMap", null, 1, 18, 256, ".png", new String[]{"http://openfiremap.org/hytiles/"});
tileProviderOSM.setTileSource(tileSourceOSM);
TilesOverlay tilesOverlayOSM = new TilesOverlay(tileProviderOSM, this.getBaseContext());
tilesOverlayOSM.setLoadingBackgroundColor(Color.TRANSPARENT);
OsmFragment frag = (OsmFragment) getFragmentManager().findFragmentById(R.id.osmMap);
osmMap = frag.getMap();
osmMap.setMultiTouchControls(true);
osmMap.getOverlays().add(tilesOverlayOSM);
MapTileProviderBasic tileProviderOSMDetail = new MapTileProviderBasic(getApplicationContext());
ITileSource tileSourceOSMDetail = new XYTileSource("OpenFireMap", null, 1, 18, 256, ".png", new String[]{"http://openfiremap.org/hytiles/"});
tileProviderOSMDetail.setTileSource(tileSourceOSMDetail);
TilesOverlay tilesOverlayOSMDetail = new TilesOverlay(tileProviderOSMDetail, this.getBaseContext());
tilesOverlayOSMDetail.setLoadingBackgroundColor(Color.TRANSPARENT);
OsmFragment fragDetail = (OsmFragment) getFragmentManager().findFragmentById(R.id.osmMapDetail);
osmMapDetail = fragDetail.getMap();
osmMapDetail.setMultiTouchControls(true);
osmMapDetail.getOverlays().add(tilesOverlayOSMDetail);
}
如果更改片段中的任一個到Google地圖片段,所述osmdroid地圖加載正確。
任何想法,爲什麼發生這種情況,我該如何解決它?我使用gradle(v5.6.4)的最新osmdroid版本(v5.6.4)
在此先感謝。
編輯: 我改變了變量declation,但它仍然不起作用。
感謝您的回答。我改變了代碼來使用不同的TilesOverlay,但它沒有改變任何東西。然後,我將每個變量都更改爲兩個地圖的不同聲明,但它也沒有幫助。 還有其他建議嗎? –