2014-10-07 54 views
0

我想顯示OSM的一部分,但我不知道什麼是我的代碼的問題,當我運行它,在地圖上沒有顯示:無法顯示OpenStreetMap的

沒有錯誤出現,但地圖不僅顯示!我使用eclipse和模擬器Google API 8工作!

這裏是我的MainActivity代碼:

package com.formation.dsmap1; 

import org.mapsforge.android.maps.MapActivity; 
import org.mapsforge.android.maps.MapView; 

import android.annotation.SuppressLint; 
//import android.annotation.SuppressLint; 
//import android.app.Activity; 
import android.os.Bundle; 
import android.os.Environment; 
//import android.os.Environment; 

public class MainActivity extends MapActivity { 


// @SuppressLint("SdCardPath") 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     MapView mapView = new MapView(this); 
     mapView.setClickable(true); 
     mapView.setBuiltInZoomControls(true); 
     mapView.setEnabled(true); 


//  mapView.setMapFile("/sdcard/essai.jpg"); 
//  setContentView(mapView); 


     mapView.setMapFile(Environment.getExternalStorageDirectory().getAbsolutePath() 
       + "essai.osm"); 
     setContentView(mapView); 

    } 

} 

和我AndroidManifest:

<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.formation.dsmap1" 
    android:versionCode="1" 
    android:versionName="1.0" > 

    <uses-sdk 
     android:minSdkVersion="8" 
     android:targetSdkVersion="20" /> 

    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> 


    <application 
     android:allowBackup="true" 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme" > 
     <activity 
      android:name="com.formation.dsmap1.MainActivity" 
      android:label="@string/app_name" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
    </application> 


</manifest> 

你能幫助我嗎?

+0

只是檢查,如果你的谷歌API密鑰是正確的?第二件事,你正在使用Google Map v1方法,這已經被棄用了。所以只需使用Google Map v2而不是它。您也沒有在清單文件中添加Google API密鑰。 – Piyush 2014-10-07 09:20:45

+0

我使用本地openstreeetmap,所以我認爲我不需要API密鑰?不是嗎?我想知道我是否可以顯示Map.osm?謝謝! – Mina 2014-10-07 10:28:03

回答

0

此權限添加到您的清單,將被罰款:

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