如何将OSMdroid磁贴源更改为MapQuest

时间:2016-08-25 05:37:14

标签: android openstreetmap osmdroid mapquest

在XML Mapview中

<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

我有两个问题。

  • 是否可以在OSMdroid地图中添加MapQuest作为源?
  • 如果可能,那么在OSMdroid中为MaqQuest添加API密钥的位置。

2 个答案:

答案 0 :(得分:0)

我的问题可以帮助别人。从2016年7月11日起,MapQuest停止提供开放式磁贴访问

  

用户只能使用Android或IOS SDK访问MapQuest磁贴

https://developer.mapquest.com/documentation/

答案 1 :(得分:0)

地图任务图块现在由地图框托管。 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()));