Mi pregunta es, ¿alguien sabe cómo configurar Google Maps, para abrir mi ubicación y en una vista ampliada?
Actualmente, la vista principal se abre a África, completamente alejada.
Y así que he estado buscando durante días, y todo lo que puedo encontrar son:
1) ¿No puedes animar dos cosas (como acercar e ir a mi ubicación) en un mapa de Google? Entonces, si puedo descubrir cómo configurar el zoom antes de configurar el animado, entonces este problema se resolvería. Ese suele ser el problema, puede cambiar uno, pero no ambos.
2) He encontrado otras clases que pueden ser útiles, pero no hay ayuda sobre cómo configurar el código para que la clase pueda manipular el mapa de Google.
Este es el código al que me he aferrado hasta ahora, algunos funcionan, otros no. Algunos pensé que podrían ser útiles más adelante.
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;
}
}
fuente
Es posible cambiar la ubicación, el zoom, la orientación y la inclinación, todo de una vez. También es posible establecer la duración de la
animateCamera()
llamada.Echa un vistazo a los documentos aquí:
https://developers.google.com/maps/documentation/android/views?hl=en-US#moving_the_camera
fuente
esta es una solución simple para su pregunta
fuente
Intenta de esta manera:
}
fuente
También puede establecer ambos parámetros como,
Esto ubica su mapa en una posición específica y zoom. Lo uso en la configuración de mi mapa.
fuente
Es una respuesta tardía, pero creo que ayudará. Usa este método:
Use este método después de cargar el mapa. ¡Salud!
fuente
La forma más sencilla de hacerlo es usar CancelableCallback. Debe verificar que la primera acción esté completa y luego llamar a la segunda:
fuente
La respuesta de @ CommonsWare no funciona realmente. Descubrí que esto funciona correctamente:
fuente
1.Agregue código xml en su diseño para mostrar mapas.
2.Habilite la API de Google Maps y luego obtenga la clave de la API que se encuentra debajo.
3. Agregue este código en oncreate.
4. Agregue este código después de crear. luego acceda a la ubicación actual con el marcador colocado en ese
fuente
No puede animar dos cosas (como acercar e ir a mi ubicación) en un mapa de Google.
Así que usa mover y animar la cámara para hacer zoom
fuente
fuente