2016-08-25 54 views
0

在XML的MapView如何改變OSMdroid瓷磚源的MapQuest

<org.osmdroid.views.MapView 
     android:id="@+id/OSMap" 
     android:visibility="visible" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" /> 

在主要活動代碼

MapView myMap = (MapView) findViewById(R.id.OSMap); 
myMap.setTileSource(new XYTileSource("MapQuest" , 16 , 18 , 256 ,".png" , new String[] {"http://otile1.mqcdn.com/tiles/1.0.0/map/", 
          "http://otile2.mqcdn.com/tiles/1.0.0/map/", 
          "http://otile3.mqcdn.com/tiles/1.0.0/map/", 
          "http://otile4.mqcdn.com/tiles/1.0.0/map/"})); 

Output

我有2個問題。

  • 是否可以在OSMdroid映射中添加MapQuest作爲源代碼?
  • 如果可能的話,那麼在OSMdroid中爲MaqQuest添加API密鑰。
+1

不,它不再可以使用Mapquest服務瓷磚的來源

相關的代碼。它曾經是最近被撤回的。沒有瓦片源需要一個API密鑰,現在也沒有一個 – NickT

+0

你的圖片已經說了一切。選擇不同的瓷磚供應商。 – scai

+0

@NickT謝謝 –

回答

0

地圖探索磚被映射盒所託管的MapQuest訪問瓷磚。 Osmdroid已經更新以反映5.3版本的變化,應該在幾天內減少。你可以隨時取消你需要修復的源頭。

您需要在清單中或以編程方式指定的映射框鍵。請參閱github上的示例項目

此問題已在osmdroid問題 #332中得到了解決,該問題可能會盡快清除此問題。對於osmdroid V5.3 +

清單 <meta-data android:name="MAPQUEST_ACCESS_TOKEN" android:value="pk...YOUR MAPBOX KEY!.."/>

將瓷磚源 mMapView.setTileSource(new MapQuestTileSource(getContext()));

+0

感謝您的信息 –