2017-11-22 47 views
1

まずOSMdroidが新しくなりました。 このトピックに関する他の同様の質問がありますが、最近の質問はなく、古い質問に対する回答は自分のコードでは機能しません。OSMdroidアンドロイドスタジオで現在の位置を取得できません

OSMDroidを使用して現在の位置を取得できません。 私はgithubに与えられた簡単なチュートリアルと以前の質問に与えられた提案を使用しました。 私はOSMDroidの最新バージョンを持っていますが、現在の場所のタグを追加しようとすると、何も表示されません。

私にはエラーがありません。地図は現在の場所のマーカーなしで表示されます。助けて!ここに私のコードです。

ご迷惑をおかけして申し訳ございませんが、よろしくお願いいたします。

Java Class 
@Override public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 


     Context ctx = getApplicationContext(); 
     //important! set your user agent to prevent getting banned from the osm servers 
     Configuration.getInstance().load(ctx, 
     PreferenceManager.getDefaultSharedPreferences(ctx)); 
     setContentView(R.layout.activity_map); 

     mMapView = (MapView) findViewById(R.id.mapview); 
     mMapView.setTileSource(TileSourceFactory.MAPNIK); 

     mMapView.setBuiltInZoomControls(true); 
     mMapView.setMultiTouchControls(true); 

     IMapController mapController = mMapView.getController(); 
     mapController.setZoom(9); 
     GeoPoint startPoint = new GeoPoint(52.1237453, 6.9293683); 
     mapController.setCenter(startPoint); 

     this.mLocationOverlay = new MyLocationNewOverlay(new GpsMyLocationProvider(ctx),mMapView); 
     this.mLocationOverlay.enableMyLocation(); 
     mMapView.getOverlays().add(this.mLocationOverlay); 

XMLコード

<?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 
     android:id="@+id/mapview" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     tilesource="Mapnik" /> 
</LinearLayout> 

答えて

2

2つの理由。

1)あなたのマニフェストは)ACCESS_FINE_LOCATION

2の権限が不足しているターゲットSDKが23以降であれば、あなたはGpsMyLocationProvider

を作成する前に、ユーザーレベルのGPSの権限のために依頼する必要があり、両方の例がありますosmdroidサンプルアプリケーションのソースコードで、ここにあります: https://github.com/osmdroid/osmdroid/blob/master/OpenStreetMapViewer/src/main/java/org/osmdroid/intro/PermissionsFragment.java#L94

、ここに:

https://github.com/osmdroid/osmdroid/blob/master/OpenStreetMapViewer/src/main/AndroidManifest.xml#L24

+0

こんにちは。あなたの助けをくれてありがとうございました。私はパーミッションを入れ、コードを再構築して、今は動作します。再度、感謝します! – Aholmes86

関連する問題