Est-il possible de modifier le niveau de zoom pour myLocation avec la nouvelle API Google Maps v2?
Si vous définissez GoogleMap.setEnableMyLocation(true);
, vous obtenez un bouton sur la carte pour trouver votre emplacement.
Si vous cliquez dessus, la carte vous amènera à votre emplacement et l'agrandira à un certain niveau. Puis-je changer ce zoom pour qu'il soit inférieur ou supérieur?
Réponses:
Il est peu probable que vous puissiez le modifier en un clic avec le marqueur myLocation par défaut. Cependant, si vous souhaitez que l'application effectue automatiquement un zoom avant sur votre emplacement une fois qu'elle est trouvée, je vérifierais ma réponse à cette question
Notez que la réponse que j'ai fournie ne fait pas de zoom avant, mais si vous modifiez la méthode onLocationChanged pour qu'elle ressemble à celle ci-dessous, vous pouvez choisir le niveau de zoom de votre choix:
la source
Vous pouvez aussi utiliser:
Pour simplement changer la valeur du zoom en n'importe quelle valeur souhaitée entre la valeur minimale = 2,0 et la valeur maximale = 21,0.
L'API avertit que tous les emplacements n'ont pas de tuiles à des valeurs égales ou proches du zoom maximum.
Consultez ceci pour plus d'informations sur les méthodes de zoom disponibles dans le
CameraUpdateFactory
.la source
avec emplacement - dans le nouveau SDK GoogleMaps:
la source
Solution légèrement différente de celle de HeatfanJohn, où je change le zoom par rapport au niveau de zoom actuel:
la source
Voici les niveaux de zoom approximatifs et ce qu'ils font:
vous pouvez donc faire quelque chose comme ceci pour zoomer au niveau de la rue par exemple (notez que le "15f" ci-dessous correspond au niveau de la rue):
Remarque: pour que vous sachiez que différents emplacements peuvent avoir différents niveaux de zoom maximum. essayez d'utiliser
googleMap.maxZoomLevel
si vous souhaitez obtenir les niveaux de zoom maximum ou minimum.la source
Dans la méthode onMapReady ()
modifiez le zoomLevel sur n'importe quelle valeur souhaitée.
la source
vous devez écrire une seule ligne dans maps_activity.xml
J'espère que cela résoudra votre problème...
la source
Vous pouvez utiliser
la source
Même j'ai récemment eu la même requête .... certains comment aucun des setmaxzoom mentionnés ci-dessus ou autre carte: cameraZoom = "13" ne fonctionnait pas.J'ai donc trouvé que la dépendance que j'ai utilisée était ancienne, veuillez vous assurer que votre dépendance pour google maps est correct c'est la dernière utilisation
la source
mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(currentPlace,15));
Cela n'aura pas d'effet d'animation.la source
Si vous souhaitez enregistrer le zoom ou l'obtenir tout le temps, il vous suffit d'appeler ce qui suit
la source
La plupart des réponses ci-dessus sont soit obsolètes, soit le zoom fonctionne en conservant la latitude et la longitude actuelles et ne fait pas de zoom sur l'emplacement exact que vous souhaitez. Ajoutez le code suivant à votre méthode onMapReady () .
la source
J'ai essayé avec "mMap.animateCamera (CameraUpdateFactory.zoomTo (17.0f));" mais cela n'a pas fonctionné pour moi. J'ai donc utilisé cette animation pour zoomer au démarrage.
la source