Ma question est la suivante: est-ce que quelqu'un sait comment configurer Google Maps, ouvrir à la fois ma position et une vue agrandie?
Actuellement, la vue principale s'ouvre sur l'Afrique, entièrement agrandie.
Et donc je cherche depuis des jours maintenant, et tout ce que je peux trouver est:
1) Vous ne pouvez pas animer deux choses (comme zoomer et accéder à ma position) dans une seule carte Google? Donc, si je peux comprendre comment régler le zoom avant de définir l'animation, ce problème serait résolu. Cela a tendance à être le problème, vous pouvez en changer un, mais pas les deux.
2) J'ai trouvé d'autres classes qui pourraient être utiles, mais il n'y a aucune aide sur la façon de configurer le code afin que la classe puisse manipuler la carte google.
C'est le code auquel je me suis accroché jusqu'à présent, certains travaux, d'autres non. J'ai pensé que certains pourraient être utiles plus tard.
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;
}
}
Il est possible de modifier l'emplacement, le zoom, le cap et l'inclinaison en une seule fois. Il est également possible de définir la durée de l'
animateCamera()
appel.Jetez un œil à la documentation ici:
https://developers.google.com/maps/documentation/android/views?hl=en-US#moving_the_camera
la source
c'est une solution simple pour votre question
la source
Essayez de cette manière -
}
la source
Vous pouvez également définir les deux paramètres comme,
Cela localise votre carte sur une position et un zoom spécifiques. J'utilise ceci sur la configuration de ma carte.
la source
C'est une réponse tardive mais je pense que cela aidera. Utilisez cette méthode:
Utilisez cette méthode après avoir chargé la carte. À votre santé!
la source
La façon la plus simple de le faire est d'utiliser CancelableCallback. Vous devez vérifier que la première action est terminée, puis appeler la seconde:
la source
La réponse de @ CommonsWare ne fonctionne pas réellement. J'ai trouvé que cela fonctionnait correctement:
la source
1.Ajoutez du code xml dans votre mise en page pour afficher les cartes.
2.Activez l'API google maps puis obtenez la clé API ci-dessous.
3.Ajoutez ce code dans oncreate.
4.Ajoutez ce code après oncreate. puis accédez à l'emplacement actuel avec le marqueur placé dans ce
la source
Vous ne pouvez pas animer deux choses (comme zoomer et accéder à ma position) dans une seule carte Google.
Utilisez donc déplacer et animer la caméra pour zoomer
la source
la source