我想在OSMDroid中显示来自Bing的卫星瓷砖,并安装了“osmdroid-第三方-4.3.jar”。
下面的代码发布在web上,以显示卫星块,但我总是会收到错误:
‘initMetaData()类型中的方法BingMapTileSource不适用于参数’!
/* BING SATELLITE VIEW */
try{
BingMapTileSource.initMetaData(this);
String m_locale = Locale.getDefault().getDisplayName();
BingMapTileSource bing = new BingMapTileSource(m_locale);
bing.setStyle(BingMapTileSource.IMAGERYSET_AERIAL);
mapView.setTileSource(bing);
}
catch(Exception e){
e.printStackTrace();
}没有争论的“这”,我得到了错误:
‘来自类型initMetaData()的方法BingMapTileSource不可见’
有什么想法吗?
发布于 2015-07-09 14:22:00
首先回答错了。
更新22.07.2015
如何向osmdroid添加Bing映射
下面是一步一步的说明。也许有人这样会节省很多时间。
1.在级中添加依赖项
compile 'org.slf4j:slf4j-android:1.6.1-RC1'
compile 'org.osmdroid:osmdroid-android:4.3'2.添加库osmdroid-third-party 从这里开始
或
在我们的项目中添加三个类(BingMapTileSource.java,ImageryMetaData.java,ImageryMetaData.java从这里开始
3.获取必应地图密钥。这里的说明
4.将Bing映射键添加到清单中。
<meta-data android:name="BING_KEY" android:value="ApEqyap8rTa4WTNCNv-3pAGQc7XUsHS6595tuDI3MHR59QlahJ5bqYGYhMYJq6Ae" />5.最后一步。添加地图代码
ResourceProxyImpl mResourceProxy = new ResourceProxyImpl(getContext().getApplicationContext());
MapView mMapView = new MapView(getContext(), 256, mResourceProxy);
mMapView.setBuiltInZoomControls(true);
mMapView.setMultiTouchControls(true);
try{
BingMapTileSource.retrieveBingKey(getContext());
String m_locale = Locale.getDefault().getDisplayName();
BingMapTileSource bing = new BingMapTileSource(m_locale);
bing.setStyle(BingMapTileSource.IMAGERYSET_AERIAL);
mMapView.setTileSource(bing);
}
catch(Exception e){
e.printStackTrace();
}
mapContent.addView(mMapView);发布于 2015-05-27 01:43:56
我解决了问题,包括了正确的'BingMapTileSource.java‘!
这里您可以找到一个具有公共方法initMetaData()的版本
https://stackoverflow.com/questions/30366351
复制相似问题