2012-12-27 19 views
7

我想尝试通过osmdroid进行OpenStreetMap集成,但我陷入了一个问题,我不知道缺少什么。场景如下:osmdroid显示一个空网格

症状:地图窗口小部件显示,但只有一个空的网格。

这是在我的活动类:

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    MapView mapView = new MapView(this, 256); 
    mapView.setTileSource(TileSourceFactory.MAPNIK); 
    mapView.setClickable(true); 
    mapView.setBuiltInZoomControls(true); 
    setContentView(mapView); 
} 

(我试过选择看似没有区别各种TileSources)

我的清单还包括这些权限(为<manifest>孩子,<uses-sdk>后) :

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 

...和我的仿真器否则连接到互联网,例如。网页浏览器的工作。

osmdroid和slf4j在构建路径中。该应用程序编译时没有问题,并且不会产生任何异常。

出了什么问题?

非常感谢!

已解决:这是由于我的模拟器没有外部存储器来缓存地图图块。

+0

文本更正:我的清单还包含这些权限(作为[manifest]的子项,[uses-sdk]之后)。 – Peter

+0

我正在使用osmdroid 3.0.7 – Peter

+0

也许你可以帮我把@Peter,... http://stackoverflow.com/questions/25460443/empty-osmdroid-map-where-to-custom-the-新地图 – gumuruh

回答

0

我对OSMdroid也很新,但是试着做这个?

setContentView(R.layout.offline_map_activity); 
mapView = (MapView) findViewById(R.id.openmapview); 

您还需要有offline_map_activity.xml在RES /布局:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:orientation="vertical" > 

    <org.osmdroid.views.MapView 
     android:id="@+id/openmapview" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent"/> 
</LinearLayout> 

希望这对你的作品。至少这工作我的代码:)

+2

嗨!感谢您的回答!但是,全屏空地图网格已经显示,这一事实证明我的问题不是布局相关的:setContentView(mapView)已正常工作。昨天晚上我意识到这是完全不同的:我的模拟器没有外部存储器... – Peter

+0

啊,我看到怪不得哈哈。很高兴你发现问题:) – lyk

+0

无论如何,@lyk,你能帮我吗? http://stackoverflow.com/questions/25460443/empty-osmdroid-map-where-to-custom-the-new-map – gumuruh

-1

我叮叮您的设备有没有SD。您已更改缓存路径

OpenStreetMapTileProviderConstants.setCachePath(this.getFilesDir().getAbsolutePath());