2017-07-31 78 views
1

那麼,這個問題,我認爲這將是可能做到像map.setSatellite(true);這樣的東西,但在OSMdroid中是不可能的。如何從OSMDROID的「普通視圖」更改爲「衛星視圖」

另一個麻煩是如果它可能下載地圖,因爲我需要離線工作,而我的老闆說應該可以下載地圖。 我知道使用離線地圖的唯一方法是用mobac製作地圖,然後手動存儲它們以進行諮詢。

我已經閱讀了關於使用bing的一些信息,但我不確定,你知道另一種方法嗎?我想我需要在線才能使用bing庫。我對嗎?

回答

0

您可以使用此代碼,谷歌地圖衛星視圖

getMap().setMapType(GoogleMap.MAP_TYPE_SATELLITE); 

,你可以從這個鏈接refrence也爲實現谷歌地圖

https://code.tutsplus.com/tutorials/getting-started-with-google-maps-for-android-basics--cms-24635

,並在谷歌地圖下載您可以用這個參考 https://stackoverflow.com/a/19184812/6869491

我希望它會他lp you

+0

謝謝你,我不知道,方式,使用谷歌地圖satellital的觀點,但我們的arent使用谷歌地圖,我們使用osmdroid,還有的arent setMapType屬性。我開始認爲如果不使用第三方工具(如bing),就不可能使用衛星視圖。 – Danstern

+0

@Danstern你可以找到https://github.com/osmdroid/osmdroid –

0

您可以使用MapBoxTileSource和mapbox.streets-satellite作爲MAPBOX_MAPID。 您將不得不在MapBox網站上申請一個訪問令牌。

OnlineTileSourceBase MAPBOXSATELLITELABELLED = new MapBoxTileSource("MapBoxSatelliteLabelled", 1, 19, 256, ".png"); 
((MapBoxTileSource) MAPBOXSATELLITELABELLED).retrieveAccessToken(this); 
((MapBoxTileSource) MAPBOXSATELLITELABELLED).retrieveMapBoxMapId(this); 
TileSourceFactory.addTileSource(MAPBOXSATELLITELABELLED); 
mapView.setTileSource(MAPBOXSATELLITELABELLED); 

而且在清單:

<meta-data 
     android:name="MAPBOX_MAPID" 
     android:value="mapbox.streets-satellite"/> 
    <meta-data 
     android:name="MAPBOX_ACCESS_TOKEN" 
     android:value="... YOUR MAPBOX ACCESS TOKEN HERE ..."/> 
+0

的參考比你!這非常有用。 – Danstern