Jetzt kostenlos registrieren. Mitglieder surfen ohne Werbung auf Android-Hilfe.de!
Zurück   Android-Hilfe.de > Android Developer > Android App Entwicklung

Eigenen Standort mit GoogleMaps anzeigen

Das Thema "Eigenen Standort mit GoogleMaps anzeigen" befindet sich unter Android App Entwicklung auf Android-Hilfe.de.


Antwort

 

Themen-Optionen Ansicht
Alt 18.11.2011, 22:14   #1 (permalink)
Android-Hilfe.de Mitglied

Registriert seit: 31.10.2011
Beiträge: 85
Abgegebene Danke: 3
Erhielt 0 Danke für 0 Beiträge
Standard Eigenen Standort mit GoogleMaps anzeigen

Eine kleine Änderung.

Hallo Users,
seit Tagen kämpfe ich damit , dass mein eigener Standort auf der GoogleMap Karte nicht angezeigt wird (z.b als ein Pfeil, ein farbiges Punkt, wie auch immer).
Dafür habe ich ne Klasse erstellt :
Code:
public class HelloGoogleMaps extends MapActivity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        MapView mapView = (MapView) findViewById(R.id.mapView);
        mapView.setBuiltInZoomControls(true);
      
        final List<Overlay> mapOverlays = mapView.getOverlays();
        Drawable drawable = this.getResources().getDrawable(R.drawable.ic_launcher);
        final ITO itemizedoverlay = new ITO(drawable);

        final MapController controller = mapView.getController();
        
        LocationManager locationManager = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE);
        
        LocationListener listener = new LocationListener() {
            
            
            @Override
            public void onLocationChanged(Location location) {
                // TODO Auto-generated method stub
                 
                 GeoPoint point = new GeoPoint((int) location.getLatitude() * (int)1E6, (int) location.getLongitude()* (int)1E6);
                 controller.setCenter(point);
                 OverlayItem overlayitem = new OverlayItem(point, "Hola, Mundo!", "I'm in Mexico City!");
                 itemizedoverlay.addOverlay(overlayitem);
                 mapOverlays.add(itemizedoverlay);
                    
            }
        };
        locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 6000, 10, listener);
    }
}
Die dazugehörige ItemizedOverlay Klasse ist hier:

Code:
public class ITO extends ItemizedOverlay {

    private ArrayList<OverlayItem> mOverlays = new ArrayList<OverlayItem>();
    Context mContext;
    public ITO(Drawable defaultMarker) {
        super(boundCenter(defaultMarker));
        // TODO Auto-generated constructor stub
    }
    
    public ITO(Drawable defaultMarker, Context context) {
          super(defaultMarker);
          mContext = context;
        }
    /* (non-Javadoc)
     * @see com.google.android.maps.ItemizedOverlay#createItem(int)
     */
    @Override
    protected OverlayItem createItem(int arg0) {
        // TODO Auto-generated method stub
        return mOverlays.get(arg0);
    }

    public void addOverlay(OverlayItem overlay) {
        mOverlays.add(overlay);
        populate();
    }
    
    /* (non-Javadoc)
     * @see com.google.android.maps.ItemizedOverlay#size()
     */
    @Override
    public int size() {
        // TODO Auto-generated method stub
        return mOverlays.size();
    }
    
    @Override
    protected boolean onTap(int index) {
      OverlayItem item = mOverlays.get(index);
      AlertDialog.Builder dialog = new AlertDialog.Builder(mContext);
      dialog.setTitle(item.getTitle());
      dialog.setMessage(item.getSnippet());
      dialog.show();
      return true;
    }

}
Die MapKey von Google ist in der xml datei drin.
Die Sachen :
<uses-permission android:name="android.permission.ACCESS_FINE_LOCAT ION"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-library android:name="com.google.android.maps"/>
sind auch in der AndroidManifest drin.

Bei der Ausführung am Handy, geht GPS an. Die Position wird gezeigt, nur die Stadt wo ich bin ist leider die falsche. Beim klicken auf das Icon wo ich mich befinde , stürzt die App ab. die Logcat ausgaben sind folgende:
Code:
11-20 21:09:09.934: I/MapActivity(23074): Handling network change notification:CONNECTED
11-20 21:09:09.944: E/MapActivity(23074): Couldn't get connection factory client
11-20 21:09:09.944: I/ActivityThread(23074): queueIdle
11-20 21:09:09.944: V/ActivityThread(23074): Reporting idle of ActivityRecord{4a4054d0 token=android.os.BinderProxy@4a405038 {t.m/t.m.HelloGoogleMaps}} finished=false
11-20 21:09:09.944: W/ActivityNative(23074): send ACTIVITY_IDLE_TRANSACTION
11-20 21:09:13.074: W/dalvikvm(23074): threadid=1: thread exiting with uncaught exception (group=0x400207d8)
11-20 21:09:13.084: E/AndroidRuntime(23074): FATAL EXCEPTION: main
11-20 21:09:13.084: E/AndroidRuntime(23074): java.lang.NullPointerException
11-20 21:09:13.084: E/AndroidRuntime(23074):     at com.android.internal.app.AlertController$AlertParams.<init>(AlertController.java:743)
11-20 21:09:13.084: E/AndroidRuntime(23074):     at android.app.AlertDialog$Builder.<init>(AlertDialog.java:273)
11-20 21:09:13.084: E/AndroidRuntime(23074):     at t.m.ITO.onTap(ITO.java:58)
11-20 21:09:13.084: E/AndroidRuntime(23074):     at com.google.android.maps.ItemizedOverlay.onTap(ItemizedOverlay.java:453)
11-20 21:09:13.084: E/AndroidRuntime(23074):     at com.google.android.maps.OverlayBundle.onTap(OverlayBundle.java:83)
11-20 21:09:13.084: E/AndroidRuntime(23074):     at com.google.android.maps.MapView$1.onSingleTapUp(MapView.java:347)
11-20 21:09:13.084: E/AndroidRuntime(23074):     at com.google.android.maps.GestureDetector.onTouchEvent(GestureDetector.java:533)
11-20 21:09:13.084: E/AndroidRuntime(23074):     at com.google.android.maps.MapView.onTouchEvent(MapView.java:647)
11-20 21:09:13.084: E/AndroidRuntime(23074):     at android.view.View.dispatchTouchEvent(View.java:3766)
11-20 21:09:13.084: E/AndroidRuntime(23074):     at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:897)
11-20 21:09:13.084: E/AndroidRuntime(23074):     at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:936)
11-20 21:09:13.084: E/AndroidRuntime(23074):     at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:936)
11-20 21:09:13.084: E/AndroidRuntime(23074):     at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:936)
11-20 21:09:13.084: E/AndroidRuntime(23074):     at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:936)
11-20 21:09:13.084: E/AndroidRuntime(23074):     at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1731)
11-20 21:09:13.084: E/AndroidRuntime(23074):     at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1120)
11-20 21:09:13.084: E/AndroidRuntime(23074):     at android.app.Activity.dispatchTouchEvent(Activity.java:2086)
11-20 21:09:13.084: E/AndroidRuntime(23074):     at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1715)
11-20 21:09:13.084: E/AndroidRuntime(23074):     at android.view.ViewRoot.handleMessage(ViewRoot.java:1787)
11-20 21:09:13.084: E/AndroidRuntime(23074):     at android.os.Handler.dispatchMessage(Handler.java:99)
11-20 21:09:13.084: E/AndroidRuntime(23074):     at android.os.Looper.loop(Looper.java:123)
11-20 21:09:13.084: E/AndroidRuntime(23074):     at android.app.ActivityThread.main(ActivityThread.java:4633)
11-20 21:09:13.084: E/AndroidRuntime(23074):     at java.lang.reflect.Method.invokeNative(Native Method)
11-20 21:09:13.084: E/AndroidRuntime(23074):     at java.lang.reflect.Method.invoke(Method.java:521)
11-20 21:09:13.084: E/AndroidRuntime(23074):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:858)
11-20 21:09:13.084: E/AndroidRuntime(23074):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
11-20 21:09:13.084: E/AndroidRuntime(23074):     at dalvik.system.NativeStart.main(Native Method)
MfG.

Geändert von zblack (20.11.2011 um 21:15 Uhr)
zblack ist offline   Mit Zitat antworten
Alt 21.11.2011, 10:46   #2 (permalink)
Android-Hilfe.de Mitglied

Registriert seit: 31.10.2011
Beiträge: 85
Abgegebene Danke: 3
Erhielt 0 Danke für 0 Beiträge
Standard AW: Eigenen Standort mit GoogleMaps anzeigen

keine ideen ?
hmm. schade
zblack ist offline   Mit Zitat antworten
Alt 21.11.2011, 13:36   #3 (permalink)
Android-Hilfe.de Mitglied

Modell: Motorola Atrix 4G

Registriert seit: 07.12.2010
Beiträge: 170
Abgegebene Danke: 14
Erhielt 32 Danke für 31 Beiträge
Neeldarax eine Nachricht über ICQ schicken
Standard AW: Eigenen Standort mit GoogleMaps anzeigen

Hallo zblack,

nicht das wir keine Idee hätten, aber im Logcat steht doch alles was du brauchst.
Wo hast du Probleme das zu beheben? Was verstehst du hier nicht?

regards
__________________
g o o g l e+ plus.neeldarax.de
androidblog www.neeldarax.de
Neeldarax ist offline   Mit Zitat antworten
Alt 21.11.2011, 17:57   #4 (permalink)
Android-Hilfe.de Mitglied

Registriert seit: 31.10.2011
Beiträge: 85
Abgegebene Danke: 3
Erhielt 0 Danke für 0 Beiträge
Standard AW: Eigenen Standort mit GoogleMaps anzeigen

ok. NullPointer wurde beseitigt, aber warum zeigt er mir mein Standort ungenau an ?
Ich befinde mich laut der Karte im Nachbarhaus.
zblack ist offline   Mit Zitat antworten
Alt 21.11.2011, 18:08   #5 (permalink)
Android Experte
 
Benutzerbild von kleinerkathe

Registriert seit: 23.01.2010
Beiträge: 882
Abgegebene Danke: 74
Erhielt 149 Danke für 120 Beiträge
Standard AW: Eigenen Standort mit GoogleMaps anzeigen

Wie weit ist das Nachbarhaus weg? GPS ist jetzt auch nicht soooo genau
kleinerkathe ist offline   Mit Zitat antworten
Alt 21.11.2011, 18:14   #6 (permalink)
Android-Hilfe.de Mitglied

Registriert seit: 31.10.2011
Beiträge: 85
Abgegebene Danke: 3
Erhielt 0 Danke für 0 Beiträge
Standard AW: Eigenen Standort mit GoogleMaps anzeigen

ja so ca 50 meter vlt weniger bin ich von meinem tatsächlichem Standort entfernt

Geändert von zblack (21.11.2011 um 18:21 Uhr)
zblack ist offline   Mit Zitat antworten
Alt 22.11.2011, 08:10   #7 (permalink)
Android-Hilfe.de Mitglied

Modell: Motorola Atrix 4G

Registriert seit: 07.12.2010
Beiträge: 170
Abgegebene Danke: 14
Erhielt 32 Danke für 31 Beiträge
Neeldarax eine Nachricht über ICQ schicken
Standard AW: Eigenen Standort mit GoogleMaps anzeigen

GPS-Genauigkeit kann sich bis zu 10m verbessern, muss halt alle ungenauen Signale ausfiltern.

Location | Android Developers

regards
__________________
g o o g l e+ plus.neeldarax.de
androidblog www.neeldarax.de
Neeldarax ist offline   Mit Zitat antworten
Antwort

Stichworte
-

Themen-Optionen
Ansicht


Ähnliche Themen

Thema Autor Forum Antworten Letzter Beitrag
Bilder: Standort auf Karte anzeigen passt nicht Garfieldonline Samsung Galaxy S2 (I9100) Forum 1 18.05.2012 11:20
Fotos Details Standort anzeigen Duffy81 Samsung Galaxy S (I9000) Forum 2 21.05.2011 21:08
Keine Wetteranimation beim eigenen Standort! jarc HTC Desire Forum 10 18.12.2010 08:58
Ihr Standort ungefährer (netzwerkbasierter) Standort, genauer (GPS-) Standort PeeG Android App Entwicklung 1 01.11.2010 11:17
Mytracks, wie Strecke auf Googlemaps anzeigen? Schanzer Sonstige Apps & Widgets 5 27.08.2010 11:35




Du liest gerade: "Eigenen Standort mit GoogleMaps anzeigen" unter "Android App Entwicklung" auf Android-Hilfe.de.


Powered by vBulletin®
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
© Android-Hilfe.de 2012 - All rights reserved.