OSM kartendarstellung

  • 1 Antworten
  • Letztes Antwortdatum
N

naruto25

Neues Mitglied
0
Hallo,

ich hoffe ihr könnt mir helfen. ich möchte nur eine mapview von openstreetmaps auf dem display angezeigt bekommen. aber irgendwie erscheint keine karte sondern nur quadrate (siehe bild). die angaben vom longitude und latitude ist nicht zu berücksichtigen. es geht lediglich nur um die anzeige der karte.

java klasse:

Code:
import org.osmdroid.util.GeoPoint;
import org.osmdroid.views.MapController;
import org.osmdroid.views.MapView;
import org.osmdroid.views.overlay.ScaleBarOverlay;
import org.osmdroid.views.overlay.SimpleLocationOverlay;

import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.widget.TextView;

public class MainActivity extends Activity {

        TextView longitude, latitude;
        private MapView mapView;
        private MapController mapController;
        private ScaleBarOverlay mScaleBarOverlay;
        private SimpleLocationOverlay mMyLocationOverlay;
    
    
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        longitude = (TextView)findViewById(R.id.textViewLong);
        latitude = (TextView)findViewById(R.id.textViewLat);
        
        mapView = (MapView) this.findViewById(R.id.mapview);
        mapView.setClickable(true);
        mapView.setBuiltInZoomControls(true);              
        mapView.getController().setZoom(15);
        mapView.getController().setCenter(new GeoPoint(52.221,6.893));
        
        LocationManager lm = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
        LocationListener ll = new myLocationListener();
        
        lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, ll);
    }
    
    class myLocationListener implements LocationListener {

        @Override
        public void onLocationChanged(Location location) {
            if(location != null)
            {
                double pLong = location.getLongitude();
                double plat = location.getLatitude();
                
                longitude.setText(Double.toString(pLong));
                latitude.setText(Double.toString(plat));
            }
            
        }

        @Override
        public void onProviderDisabled(String provider) {
            Intent intent = new Intent(android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS);
            startActivity(intent);                
        }

        @Override
        public void onProviderEnabled(String provider) {
            // TODO Auto-generated method stub
            
        }

        @Override
        public void onStatusChanged(String provider, int status,
                Bundle extras) {
            // TODO Auto-generated method stub
            
        }
        
    }
    
    public void ExitKlick(View v){
        this.finish();
    }

   
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }
}


layout.xml:

Code:
RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <LinearLayout
        android:id="@+id/linearLayout1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:layout_marginTop="30dp" >

        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Longitude:"
            android:textAppearance="?android:attr/textAppearanceMedium" />

        <TextView
            android:id="@+id/textViewLong"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="2dp"
            android:textAppearance="?android:attr/textAppearanceLarge" />
    </LinearLayout>

    <LinearLayout
        android:id="@+id/linearLayout2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentRight="true"
        android:layout_below="@+id/linearLayout1"
        android:layout_marginTop="5dp" >

        <TextView
            android:id="@+id/textView3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Latitude:"
            android:textAppearance="?android:attr/textAppearanceMedium" />

        <TextView
            android:id="@+id/textViewLat"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="2dp"
            android:textAppearance="?android:attr/textAppearanceLarge" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:orientation="vertical" >

        <TextView
            android:id="@+id/textView5"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:text="Your Position via OSM"
            android:textStyle="bold" />
    </LinearLayout>

    
    <org.osmdroid.views.MapView
        android:id="@+id/mapview"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_above="@+id/buttonExit"
        android:layout_below="@+id/linearLayout2">

    </org.osmdroid.views.MapView>
    
    <Button
        android:id="@+id/buttonExit"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:onClick="ExitKlick"
        android:text="Exit" />

</RelativeLayout>

folgende bibliotheken wurden in das projekt geaddet:
osmdroid-android-3.0.8 und
slf4j-android-1.5.8

bin kein programmierexperte, habt daher verständnis. ich möchte das lernen aber ich hänge hier schon seit mehr als ein tag und da frag ich lieber jetzt. komme so nicht weiter. hoffe ihr könnt mir helfen. danke im voraus.
 
kann mir wirklich keiner helfen? :/
 
Zurück
Oben Unten