2016-11-11 1 views
0

私は間違っていますか?地図は表示されません。私はlibs:osmdroid-android-5.1とslf4j-android-1.6.1-RC1を追加します。オフラインマップで.zipを作成しました。OpenStreetMapが表示されない

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); 
    } 
} 

マニフェスト:

<?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> 

私は私のオンライン研究では何も見つかっていません。

私はAndroidスタジオを使用しています。

+0

私はMapBoxの使用をお勧めします。それは、OSMのデータを使用し、リーフレットを使用してWebサイト上で正常に動作し、Android SDKは良いです。私はOSMデータを使いたいと思っていました。検索した後、私はMapBoxをかなりいいソリューションにしました。 – Peter

答えて

1

osmdroidの既知の問題は、アンドロイドスタジオのプレビューモードが正しく表示されないことが原因です。これはAndroidスタジオのもので、5.6で修正する必要があります。

また、この時点で5.1がかなり古くなっています。新しいバージョンの使用を検討することをおすすめします。