2016-11-11 3 views
0

Was mache ich falsch? Karten werden nicht angezeigt. Ich füge libs hinzu: osmdroid-android-5.1 und slf4j-android-1.6.1-RC1. Ich habe .zip mit Offline-Karten gemacht.OpenStreetMap nicht angezeigt

Activity.java:

import android.location.Criteria; 
import android.location.Location; 
import android.location.LocationManager; 
import android.os.Bundle; 
import org.osmdroid.api.IMapController; 
import org.osmdroid.tileprovider.tilesource.TileSourceFactory; 
import org.osmdroid.util.GeoPoint; 
import org.osmdroid.views.MapView; 
import android.support.v7.app.AppCompatActivity; 
import android.support.v7.widget.Toolbar; 
import java.lang.String; 

public class MapsActivity extends AppCompatActivity { 
    private MapView mapView; 
    private int MAP_DEFAULT_ZOOM = 15; 
    private double MAP_DEFAULT_LATITUDE = 49.292192; 
    private double MAP_DEFAULT_LONGITUDE = 19.959055; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_maps); 
     Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
     setSupportActionBar(toolbar); 

     mapView = (MapView) this.findViewById(R.id.mapview); 
     mapView.setBuiltInZoomControls(true); 
     mapView.setMultiTouchControls(true); 
     mapView.setClickable(true); 
     mapView.setUseDataConnection(false); 
     mapView.getController().setZoom(MAP_DEFAULT_ZOOM); 
     mapView.getController().setCenter(new GeoPoint(MAP_DEFAULT_LATITUDE, MAP_DEFAULT_LONGITUDE)); 
     mapView.setTileSource(TileSourceFactory.MAPNIK); 
    } 
} 

Manifest:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.example.admin.tatry"> 

    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> 
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
    <uses-permission android:name="android.permission.READ_INTERNAL_STORAGE" /> 
    <uses-permission android:name="android.permission.WRITE_INTERNAL_STORAGE" /> 
    <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.INTERNET" /> 

    <application 
     android:allowBackup="true" 
     android:icon="@mipmap/ic_launcher" 
     android:label="@string/app_name" 
     android:supportsRtl="true" 
     android:theme="@style/AppTheme"> 
     <activity 
      android:name=".StartActivity" 
      android:screenOrientation="portrait"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 
       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
     <activity 
      android:name=".MapsActivity" 
      android:label="@string/title_activity_maps" 
      android:theme="@style/AppTheme.NoActionBar"></activity> 
     <supports-screens 
      android:anyDensity="true" 
      android:resizeable="false" 
      android:largeScreens="true" 
      android:normalScreens="true"/> 
    </application> 
</manifest> 

activity.xml:

<?xml version="1.0" encoding="utf-8"?> 
<android.support.design.widget.CoordinatorLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:fitsSystemWindows="true" 
    android:clickable="true" 
    tools:context="com.example.admin.tatry.MapsActivity"> 

    <org.osmdroid.views.MapView 
     android:id="@+id/mapview" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:clickable="true"> 
    </org.osmdroid.views.MapView> 

    <android.support.design.widget.AppBarLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:theme="@style/AppTheme.AppBarOverlay"> 

     <android.support.v7.widget.Toolbar 
      android:id="@+id/toolbar" 
      android:layout_width="match_parent" 
      android:layout_height="?attr/actionBarSize" 
      android:background="?attr/colorPrimary" 
      app:popupTheme="@style/AppTheme.PopupOverlay" /> 
    </android.support.design.widget.AppBarLayout> 

</android.support.design.widget.CoordinatorLayout> 

ich nichts an meinem Online-Recherchen gefunden haben.

Ich benutze Android Studio.

+0

Ich empfehle die Verwendung von MapBox. Es verwendet OSM-Daten, funktioniert gut auf der Website mit Leaflet und das Android SDK ist gut. Ich wollte OSM-Daten verwenden und nach der Suche fand ich MapBox eine ziemlich nette Lösung. – Peter

Antwort

1

Bekanntes Problem für Osmdroid nicht korrekt den Vorschau-Modus von Android Studio Rendern. Es ist nur eine androide Studio-Sache, und es sollte in 5.6 behoben werden.

Auch 5.1 ist an dieser Stelle ziemlich alt, Sie sollten vielleicht eine neue Version in Betracht ziehen.

Verwandte Themen