2012-04-15 6 views
0

Ich möchte Android Mapping-Anwendung mit OsmDroid Mapping API mit Offline-und Online-Fähigkeiten zu entwickeln, aber ich konnte nicht viele Tutorials darüber finden, so wenn jemand einen Link zu Tutorials, die Osmdroid Mapping verwenden api offline oder online. Ich habe eine kleine App geschrieben, nur um die Karte vom Standardanbieter anzuzeigen, aber die Anwendung ausgeführt, aber keine Karte angezeigt wird (nur Squers) was ist los ?? der code:Android-Mapping mit OsmDroid Mapping api

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

die steuerung wird angezeigt !!!!!!

Antwort

1

Oder vielleicht das Internet (oder ein anderes) die Erlaubnis in der Manifest-Datei fehlt?

HowToUseJar

+1

danke, ja, ich habe viele andere Berechtigungen hinzugefügt, die ich gefunden habe, dass Leute sagen, dass sie benötigt werden und alle Berechtigungen:

1

Vermutlich fehlt eine Kachelquelle. dass wird Ihnen eine OSM Karte mit osmdroid Unten ist die kleinste Probe I-Code haben:

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

danke, ich habe die TileSource-Anweisung zu meinem Code hinzugefügt und die Anwendung funktioniert immer noch wie es ist (kein Fehler, aber keine Karte wird nur Quadrate angezeigt) und es gibt einen Fehler, der in der DDMS angezeigt wird: –

+0

[2012-04 -16 11.24.27 - DDM] null java.lang.NullPointerException \t bei com.android.ddmlib.Client.sendAndConsume (Client.java:573) \t bei com.android.ddmlib.HandleHello.sendHELO (HandleHello .java-: 142) \t bei com.android.ddmlib.HandleHello.sendHelloCommands (HandleHello.java:65) \t bei com.android.ddmlib.Client.getJdwpPacket (Client.java:672) \t bei com.android. ddmlib.Mon itorThread.processClientActivity (MonitorThread.java:317) \t bei com.android.ddmlib.MonitorThread.run (MonitorThread.java:263) –

+0

danke, ja, ich habe viele andere Berechtigungen hinzugefügt, die ich fand Leute sagen, sie sind erforderlich und alle die Erlaubnis sind:

0

Sie müssen auch

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

zu Ihrem Manifest hinzuzufügen. Osmdroid versucht, die Kacheln zwischenzuspeichern und schlägt fehl, wenn kein Speicherzugriff besteht.

+0

rechengehirn: Ich habe bereits alle benötigten Berechtigungen inklusive dieser geschrieben. –