2012-04-15 7 views
0

osmDroidマッピングAPIを使用してオフラインとオンライン機能を使用してアプリケーションを開発したいと思いますが、多くのチュートリアルは見つかりませんでした。もしosmdroidマッピングを使用するチュートリアルへのリンクがあればapiはオフラインまたはオンラインです。 デフォルトのプロバイダからマップを表示するために小さなアプリケーションを作成しましたが、アプリケーションは実行されましたが、マップは表示されません(スペルのみ)。コード:osmDroidマッピングAPIを使用したアンドロイドマッピング

MapView map = new MapView(this, 256); 
    map.setClickable(true); 
    map.setBuiltInZoomControls(true); 
    setContentView(map); 

コントロールが表示されます!!!!!!

答えて

1

それとも、インターネット(または他の)不足しているマニフェストファイルのパーミッション:以下は、私はそれはあなたにosmdroidを使用してOSMの地図を表示します持っているコードの最小のサンプルはありますか?

HowToUseJar

+1

ありがとう、はい私は多くの他のアクセス許可を追加しました。私は人々が必要とし、すべての許可は次のように言っています: <使用許諾:

1

おそらくタイルソースがありません。

import org.osmdroid.tileprovider.tilesource.TileSourceFactory; 
import org.osmdroid.util.GeoPoint; 
import org.osmdroid.views.MapController; 
import org.osmdroid.views.MapView; 
import android.app.Activity; 
import android.os.Bundle; 

// This is all you need to display an OSM map using osmdroid 
public class OsmdroidDemoMap extends Activity { 

    private MapView   mMapView; 
    private MapController mMapController; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
      setContentView(R.layout.osm_main); 
     mMapView = (MapView) findViewById(R.id.mapview); 
     mMapView.setTileSource(TileSourceFactory.MAPNIK); 
     mMapView.setBuiltInZoomControls(true); 
     mMapController = mMapView.getController(); 
     mMapController.setZoom(13); 
     GeoPoint gPt = new GeoPoint(51500000, -150000); 
     //Centre map near to Hyde Park Corner, London 
     mMapController.setCenter(gPt); 

    } 
} 
/* HAVE THIS AS YOUR osm_main.xml 
---------------------------------------------------------- XML START 
<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    > 
    <org.osmdroid.views.MapView 
     xmlns:android="http://schemas.android.com/apk/res/android" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:id="@+id/mapview" 
     ></org.osmdroid.views.MapView> 
</LinearLayout> 
---------------------------------------------------------- XML END 
Include slf4j-android-1.5.8.jar and osmdroid-android-3.0.5.jar in the build path 
(Google search for where to get them from) 
*/ 
+0

私はコードにTileSourceステートメントを追加しました。アプリケーションはそのまま動作します(エラーはありませんが、マップは四角形で表示されません)。DDMSに表示されるエラーは次のとおりです。 –

+0

[2012-04 -16 11時24分27秒 - com.android.ddmlib.HandleHello.sendHELOでcom.android.ddmlib.Client.sendAndConsumeでDDMS]ヌル java.lang.NullPointerExceptionが\t(Client.java:573) \t(HandleHello .java:142)com.android.ddmlib.HandleHello.sendHelloCommands(HandleHello.java:65)com.android.ddmlib.Client.getJdwpPacket(Client.java:672で \t)com.androidで \tで\t。 ddmlib.Mon (MonitorThread.java:263) –

+0

ありがとうございます、私は多くの他のアクセス許可を追加しました。 < "android.permission.WRITE_EXTERNAL_STORAGE" /> –

0

また、あなたのマニフェストに

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

を追加する必要があります。 Osmdroidはタイルをキャッシュしようとしますが、ストレージへのアクセスがないと失敗します。

+0

rechengehirn:私は既にこれを含む必要な権限をすべて書きました。 –