Beiträge von khh

    hier ist die komplette Activity.
    Ich sehe nur eine Instanz der Map :sleeping:






    import android.app.Activity;
    import android.app.Dialog;
    import android.content.Intent;
    import android.content.SharedPreferences;
    import android.location.Criteria;
    import android.location.Location;
    import android.location.LocationManager;
    import android.os.Bundle;
    import android.preference.PreferenceManager;
    import android.support.v4.app.FragmentActivity;
    import android.view.Menu;
    import android.view.MenuItem;
    import android.widget.TextView;
    //import android.support.v4.app.FragmentTransaction;




    import com.google.android.gms.common.ConnectionResult;
    import com.google.android.gms.common.GooglePlayServicesNotAvailableException;
    import com.google.android.gms.common.GooglePlayServicesUtil;
    import com.google.android.gms.location.LocationListener;
    import com.google.android.gms.maps.*;
    import com.google.android.gms.maps.model.CameraPosition;
    import com.google.android.gms.maps.model.LatLng;
    import com.google.android.maps.GeoPoint;
    import com.google.android.maps.MapActivity;
    import com.google.android.maps.MapView;
    import com.google.android.maps.MyLocationOverlay;


    public class PKarte extends FragmentActivity implements android.location.LocationListener{


    private MapView mapView;
    private MyLocationOverlay myLocationOverlay;
    public boolean autozoom = false;
    private GoogleMap googleMap;
    CameraPosition cameraPosition;
    TextView tvLocation;
    LocationManager locationManager;
    private int kartentype = 1;

    /** Called when the activity is first created. */


    /*************************************************************************************
    *
    * onCreate
    *
    ************************************************************************************/
    @Override
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);


    // main.xml contains a MapView
    setContentView(R.layout.map_layout);
    tvLocation = (TextView) findViewById(R.id.tv_location);


    }



    /*************************************************************************************
    *
    * onResume
    *
    ************************************************************************************/



    @Override
    protected void onResume() {
    super.onResume();


    /**********************************************
    * relevante Benutzereinstellungen lesen
    *
    **********************************************/
    SharedPreferences getEinstellungen = PreferenceManager.getDefaultSharedPreferences(getBaseContext());



    kartentype = Integer.valueOf(getEinstellungen.getString("karteneinstellungen1","1"));


    karteAnzeigen();
    }


    @Override
    protected void onPause() {
    super.onPause();



    }


    @Override
    public void onLocationChanged(Location location) {
    // TODO Auto-generated method stub




    // Getting latitude of the current location
    double latitude = location.getLatitude();


    // Getting longitude of the current location
    double longitude = location.getLongitude();


    // Creating a LatLng object for the current location
    LatLng latLng = new LatLng(latitude, longitude);


    // .target(latLng) // Sets the center of the map to Mountain View
    // Setting latitude and longitude in the TextView tv_location
    tvLocation.setText("Latitude:" + latitude + ", Longitude:"+ longitude );
    cameraPosition = new CameraPosition.Builder()
    .target(new LatLng(location.getLatitude(),location.getLongitude()))
    .zoom(15) // Sets the zoom
    .bearing(180) // Sets the orientation of the camera to xy
    .tilt(30) // Sets the tilt of the camera to 30 degrees
    .build(); // Creates a CameraPosition from the builder




    // Showing the current location in Google Map
    googleMap.moveCamera(CameraUpdateFactory.newLatLng(latLng));
    googleMap.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition));
    locationManager.removeUpdates(this);

    }


    @Override
    public void onProviderDisabled(String arg0) {
    // TODO Auto-generated method stub


    }


    @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


    }


    /**************************************************************
    * Karte anzeigen
    *
    *************************************************************/

    private void karteAnzeigen() {
    // Getting Google Play availability status
    int status = GooglePlayServicesUtil.isGooglePlayServicesAvailable(getBaseContext());




    // Showing status
    if(status!=ConnectionResult.SUCCESS){ // Google Play Services are not available


    int requestCode = 10;
    Dialog dialog = GooglePlayServicesUtil.getErrorDialog(status, this, requestCode);
    dialog.show();


    }else { // Google Play Services are available


    // Getting reference to the SupportMapFragment of amap_layout.xml
    SupportMapFragment fm = (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map);


    // Getting GoogleMap object from the fragment
    googleMap = fm.getMap();
    /* zur internen Info Integerwerte
    * GoogleMap.MAP_TYPE_NORMAL = 1
    * GoogleMap.MAP_TYPE_SATELLITE = 2
    * GoogleMap.MAP_TYPE_TERRAIN = 3
    * GoogleMap.MAP_TYPE_HYBRID = 4;
    */
    googleMap.getUiSettings().setCompassEnabled(true);
    googleMap.getUiSettings().setZoomControlsEnabled(true);
    googleMap.getUiSettings().isTiltGesturesEnabled();


    // Enabling MyLocation Layer of Google Map
    googleMap.setMyLocationEnabled(true);
    googleMap.setMapType(kartentype);


    // Getting LocationManager object from System Service LOCATION_SERVICE
    locationManager = (LocationManager) getSystemService(LOCATION_SERVICE);


    // Creating a criteria object to retrieve provider
    Criteria criteria = new Criteria();


    // Getting the name of the best provider
    String provider = locationManager.getBestProvider(criteria, true);


    // Getting Current Location
    Location location = locationManager.getLastKnownLocation(provider);
    LatLng latLng = new LatLng(location.getLatitude(),location.getLongitude());
    // Showing the current location in Google Map



    if(location!=null){


    onLocationChanged(location);
    }



    locationManager.requestLocationUpdates(provider, 20000, 0, this);
    // locationManager.requestLocationUpdates(provider, 10000, 0, this); // 10 sec
    }
    }


    /****************************************************************************************************
    *
    * Komplettes Menuehandling
    ******************************************************************************************************/
    // Menuehandling
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.karten_menue1, menu);
    return true;
    }


    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
    // Handle item selection
    switch (item.getItemId()) {
    case R.id.itemKarteneinstellungen:


    startActivity(new Intent(this, Karteneinstellungen.class));



    return true;


    default:
    return super.onOptionsItemSelected(item);
    }
    }



    }
    [/code]


    EDIT: drumliner ich hab mal das
    googleMap.moveCamera(CameraUpdateFactory.newLatLng(latLng));
    rausgenommen, setzt mich jetz mal ins auto und will sehen ob das die Ursache ist :)
    EDIT2: was verhagelt denn hier die Code-tags ??

    Hallo zusammen,
    ich hab mit der API V2 eine Karte eingebunden.
    Die Routenverfolgung , Zoom, usw. klappt super.
    Weiss jemand, wie ich den "Movingpoint" in der Kartenmitte halten kann, sprich die Karte bewegt sich hinter dem aktuellen Standort, und nicht umgekehrt?


    der Pfeil läuft mir aus dem Bildrand raus.


    folgendes hab ich in der onLocationChanged gemacht:

    so möchte ich das auch nicht haben, das ist ja das Gleiche wie wenn ich onKeyDown überschreibe.


    Es muss doch ne Möglichkeit geben, einen Dialog anzuzeigen, der nicht abgebrochen werden kann, sprich eine der beiden Optionen muss ausgewählt werden, oder ?
    PS. soll ein Altersdialog sein.

    hallo zusammen,
    kann ich einer alertdialog modal anzeigen,
    oder anders gefragt, wie kann ich verhindern, dass der dialog mit der "Zurück-Taste" beendet wird?



    Ich danke euch

    hi drumliner, ja ich habe skype


    muss aber jetzt nochmal weg


    wenn du später noch on bist, ansonsten poste ich später den kompletten Code incl. der ListView




    Ich danke dir schonmal

    hallo drumliner,


    ich übergebe ja in dem ArrayAdapter keine String sondern eine Klasse Adresse.


    siehe Posting: Listview mit Indexanzeige


    die findViewsbyId in obigen Posting hab ich durch eine Viewholder ersetzt, ist ja dann wohl schneller.


    Das mit der Indexliste , bzw fastScrollenabled hat ja geklappt, aber
    wie bekomme ich jetzt per Klick die Detaiansicht implementiert?


    wenn ich in der Listactivity wieder alle Werte per findView holen muss, ist das irgendwie kontraproduktiv, oder ?

    Der ClickListener muss in die View, die vom Viewholder verwaltet wird :)


    funktioniert doch nicht wie gewollt.


    hier bekomme ich keinen OnItemClickListener eingebunden.


    und wenn ich den in der Listactivity einbinde muss ich mir die Werte für die Detail-Ansicht wieder per findViewbyId holen.


    Irgendwie steh ich grad aufm Schlauch

    hallo zusammen,
    nachdem in meiner ListActivity jetzt folgendes funktioniert:


    ListView mylistview = getListView();
    mylistview.setFastScrollEnabled(true);


    wollte ich per

    Code
    public void onListItemClick(ListView l, View v, int position, long id)
    	        { 
    			  UtilitiesDiverse.zeigeMeldung("Hallo Welt", context);
    
    
    	        }


    auf die Klicks auf die Liste raegieren.


    Leider tut sich gar nix, was ist da falsch ?


    Muss ich sicher noch mit mylistview verbinden, oder?


    aber wie ??

    naja,


    ich möchte die Adressen die nach PLZ (oder Namen) sortiert sind übersichtlich darstellen und so wie in der Kontakliste der Standardadressen eine seitliche Liste mit PLZ ( oder alphabet) anzeigen, die man scrollen kann

    hallo zusammen,
    ich versuchs jetzt mal mit etwas mehr Quellcode ;)
    ArrayList<adresse> ist eine ArrayList der Klasse adresse


    kann ich der View in der Main einen Index hinzufügen, oder geht das in der ListActivity nicht.
    Wenn nein, wie kann ich dann einer ListView die Klasse Adresse übergeben, ohne alles auseinandernehmen zu müssen?


    Ich danke euch


    hallo zusammen,


    kann ich einer ListActivity auch einen Index der angezeigten Einträge hinzufügen.


    Alles was ich bisher gefunden habe, nutzt die ListView


    Ich danke euch für eure Ideen

    ja das hatte ich auch gedacht.
    Ist wirklich keine böse Absicht, wenn ich nicht mehr Einblick gebe.


    Die Struktur ist sehr komplex und deshalb müsste ich viel Code posten, das liest dann sicher niemand mehr.

    hallo matthias,


    ich habe jetzt die Klasse Adressen mittels Comparator sortiert.


    Ich vergass zu erwähnen, dass es sich um eine ArrayList der _Klasse_ Adressen handelt .
    adressList.add(adresse); // wird aus dem SQL-Cursor gefüllt.


    Die Sache mit dem Comparator ist ja ganz nett und funktioniert problemlos , wenn man sich mal damit befasst hat. ;)

    Hallo zusammen,
    ich habe eine ArrayList der ich einen sortierten Cursor übergebe.
    List<Adressen>adressList = new ArrayList<Adressen>();


    select * from adressen order by plz


    adressList.setPLZ(cursor.getString(2)); usw usw.


    m_parts = (ArrayList<Adressen>) dbhandler.getAllAdressen();


    m_parts ist eine identische Arrayliste in einer ListActivity der das Array aus dem SQLightHelper übergeben wird.
    warum ist die Liste in der ListActivity nicht wie das SQL-Statement sortiert?


    Die Liste nachträglich zu sortieren ist ja in Java wohl recht umständlich :(

    ich nutze den Standardeditor


    will mal sehen, dass ich das noch richtig formatiert bekomme
    EDIT: mit der Quellcodeansicht klappts.
    EDIT2: der Editor vom Eclipse macht auch nicht immer was ich will :(
    Ich hoffe doch, es ist auch ohne Nachbearbeitung lesbar
    Ich hoffe auf eure Ideen zur Fehlerbehebung ;)