Meine Frage ist, weiß jemand, wie man Google Maps einrichtet, um sowohl meinen Standort als auch eine vergrößerte Ansicht zu öffnen?
Derzeit öffnet sich die Hauptansicht nach Afrika und wird vollständig herausgezoomt.
Und so habe ich seit Tagen gesucht und alles, was ich finden kann, sind:
1) Sie können nicht zwei Dinge (wie zoomen und zu meinem Standort gehen) in einer Google Map animieren? Wenn ich also herausfinden kann, wie der Zoom eingestellt wird, bevor ich die Animation einstelle, ist dieses Problem gelöst. Das ist in der Regel das Problem, Sie können eines ändern, aber nicht beide.
2) Ich habe andere Klassen gefunden, die nützlich sein könnten, aber es gibt keine Hilfe zum Einrichten des Codes, damit die Klasse die Google Map manipulieren kann.
Dies ist der Code, an dem ich bisher festgehalten habe, einige funktionieren, andere nicht. Einige, von denen ich dachte, dass sie später nützlich sein könnten.
package com.MYWEBSITE.www;
import com.google.android.gms.maps.CameraUpdateFactory;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.SupportMapFragment;
import com.google.android.gms.maps.model.LatLng;
import android.content.Context;
import android.location.Criteria;
import android.location.Location;
import android.location.LocationManager;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.view.Menu;
public class MainActivity extends FragmentActivity {
private GoogleMap map;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main_layout);
map = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map)).getMap();
map.setMyLocationEnabled(true);
//LocationSource a = (LocationSource) getSystemService(Context.LOCATION_SERVICE);
//LocationManager b = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
//map.setLocationSource(a);
Criteria criteria = new Criteria();
LocationManager locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
String provider = locationManager.getBestProvider(criteria, false);
Location location = locationManager.getLastKnownLocation(provider);
double lat = location.getLatitude();
double lng = location.getLongitude();
LatLng coordinate = new LatLng(lat, lng);
//CameraPosition.Builder x = CameraPosition.builder();
//x.target(coordinate);
//x.zoom(13);
//Projection proj = map.getProjection();
//Point focus = proj.toScreenLocation(coordinate);
//map.animateCamera(CameraUpdateFactory.newLatLng(coordinate));
map.animateCamera(CameraUpdateFactory.zoomBy(13));
//map.moveCamera(CameraUpdateFactory.newLatLng(coordinate));
////LatLngBounds bounds = mMap.getProjection().getVisibleRegion().latLngBounds;
}
}
quelle
Es ist möglich, Position, Zoom, Peilung und Neigung auf einmal zu ändern. Es ist auch möglich, die Dauer des
animateCamera()
Anrufs festzulegen.Schauen Sie sich die Dokumente hier an:
https://developers.google.com/maps/documentation/android/views?hl=de-US#moving_the_camera
quelle
Dies ist eine einfache Lösung für Ihre Frage
quelle
Versuchen Sie es auf diese Weise -
}}
quelle
Sie können auch beide Parameter einstellen wie:
Dadurch wird Ihre Karte an einer bestimmten Position lokalisiert und gezoomt. Ich benutze dies beim Einrichten meiner Karte.
quelle
Es ist eine späte Antwort, aber ich denke, es wird helfen. Verwenden Sie diese Methode:
Verwenden Sie diese Methode nach dem Laden der Karte. Prost!
quelle
Der einfachste Weg, dies zu tun, ist die Verwendung von CancelableCallback. Sie sollten überprüfen, ob die erste Aktion abgeschlossen ist, und dann die zweite aufrufen:
quelle
Die Antwort von @ CommonsWare funktioniert nicht wirklich. Ich habe festgestellt, dass dies richtig funktioniert:
quelle
1. Fügen Sie Ihrem Layout XML-Code für die Anzeige von Karten hinzu.
2. Aktivieren Sie die Google Maps-API und erhalten Sie den unten angegebenen API-Schlüsselplatz.
3. Fügen Sie diesen Code in oncreate hinzu.
4. Fügen Sie diesen Code nach dem Erstellen hinzu. Greifen Sie dann mit der Markierung auf den aktuellen Standort zu
quelle
Sie können nicht zwei Dinge (wie zoomen und zu meinem Standort gehen) in einer Google Map animieren.
Verwenden Sie also die Kamera zum Bewegen und Animieren, um zu zoomen
quelle
quelle