2013-01-21 6 views
6

Ich bin ein echter Google Maps API-Noob, so dass jede Hilfe geschätzt wird. Was ich hier sehen möchte, ist, dass wenn ich meine App öffne, die Kamera direkt zu meinem aktuellen Standort gehen und den blauen Punkt platzieren muss. Wie kann ich das schaffen?Wie kann ich Google Maps api v2 direkt zu meinem Standort gehen

Ich habe einen Beispiel-Code gemacht, so dass jeder es verstehen kann und dessen Code implementieren, wenn nötig:

GoogleMap map = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.general_map)).getMap(); 
map.setMapType(GoogleMap.MAP_TYPE_HYBRID); 

if(helper.isGPSEnabled()){ 
    map.move... // move directly to my current position 
} 

Hilfe bitte ...

+0

Wo bekomme ich die lat und lng. Sie fügen einen Kommentar ein, der überhaupt nicht hilft. – Emver

Antwort

0

Sie müssen zuerst den Benutzer seinen Standort bestimmen. Danach legen Sie Ihren Breiten- und Längengrad auf der Karte fest. Vergessen Sie auch nicht, die Zoomstufe einzustellen, um auf Ihre Karte zu zoomen.

Um festzustellen, ob das GPS aktiviert ist:

How do I find out if the GPS of an Android device is enabled

Android - Is there a way to listen if GPS was enabled or disabled

Weitere Informationen über Standortstrategien:

http://developer.android.com/guide/topics/location/strategies.html

28

Hier ist, was ich in der Lage war zum Laufen zu bringen. Es zeigt Ihren aktuellen Standort an und setzt dort einen Marker. Dies ist für Google Maps API v2

private void setUpMap() { 
    // Enable MyLocation Layer of Google Map 
    googleMap.setMyLocationEnabled(true); 

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

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

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

    // Get Current Location 
    Location myLocation = locationManager.getLastKnownLocation(provider); 

    //set map type 
    googleMap.setMapType(GoogleMap.MAP_TYPE_HYBRID); 

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

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

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

    // Show the current location in Google Map   
    googleMap.moveCamera(CameraUpdateFactory.newLatLng(latLng)); 

    // Zoom in the Google Map 
    googleMap.animateCamera(CameraUpdateFactory.zoomTo(20)); 
    googleMap.addMarker(new MarkerOptions().position(new LatLng(latitude, longitude)).title("You are here!")); 
} 
+0

Exzellente Beratung, hat super für mich gearbeitet! –

+4

on Location myLocation = locationManager.getLastKnownLocation (Anbieter); myLocation ist null, keine Idee? – ALi

+0

es funktioniert nicht !! Alles was ich bekomme ist: Die Google Play-Dienste wurden nicht gefunden. Überprüfen Sie Ihre Projektkonfiguration, um sicherzustellen, dass die Ressourcen enthalten sind. –