J'ai besoin d'obtenir le niveau de zoom de google maps pour une boîte englobante dans le côté serveur (qui est codé en Java) des idées?comment calculer google maps niveau de zoom pour un bounding box dans java
Répondre
Google Maps est utilisé via une bibliothèque javascript qui s'exécute côté client (dans le navigateur). Il n'y a rien que vous puissiez faire sur le serveur.
Vous pouvez toutefois regarder la taille de la boîte de jonction en javascript (côté client) et régler le niveau de zoom en conséquence.
Je suis curieux: que faites-vous avec Google Maps sur le serveur?
@Peter En fait, il y a quelque chose que vous pouvez faire sur le serveur en utilisant Java. Vous pouvez calculer le minimum et les valeurs de latitude/longitude maximum de votre cadre de sélection, puis utilisez le code suivant:
int zoomLevel;
double latDiff = latMax - latMin;
double lngDiff = lngMax - lngMin;
double maxDiff = (lngDiff > latDiff) ? lngDiff : latDiff;
if (maxDiff < 360/Math.pow(2, 20)) {
zoomLevel = 21;
} else {
zoomLevel = (int) (-1*((Math.log(maxDiff)/Math.log(2)) - (Math.log(360)/Math.log(2))));
if (zoomLevel < 1)
zoomLevel = 1;
}
Cela a bien fonctionné pour ma place Google carte de 320x320 pixels, avec ZOOM_SCALING_FACTOR = 0,3838. Cette formule devrait fonctionner correctement pour n'importe quelle carte carrée de Google. La raison pour laquelle vous voyez log_2 utilisé est qu'une carte Google double en taille chaque fois que le niveau de zoom augmente de 1. Je gère également les cas de bords où les points coïncident presque (zoomLevel = 21), et où le globe entier est le zoom souhaité (zoomLevel = 1). La bonne chose à propos de ce côté serveur est que vous avez libéré votre moteur JavaScript de faire des calculs complexes (et potentiellement inutiles) qui pourraient ralentir le chargement de la page et empirer l'expérience utilisateur.
Merci bien fait. – Blamkin86
- 1. Comment obtenir l'API Google Maps pour définir le niveau de zoom correct pour un pays?
- 2. Google maps zoom broken
- 3. Mapnik ignorant mon long bound bounding box
- 4. Comment je peux calculer 2d bounding box avec la transformation 3D
- 5. JS cadre de zoom (google maps style)
- 6. Calcul de la collision AABB (bounded bounding box)
- 7. Niveau de zoom personnalisé dans Bing Maps Contrôle Silverlight
- 8. Google-Maps v3: Comment changer le style de carte en fonction du niveau de zoom?
- 9. comment contrôler le zoom arrière dans google maps
- 10. Twitter stream bounding box - comment couvrir London/UK
- 11. MkMapView Niveau de zoom
- 12. Clustering dans Google Maps
- 13. Obtenir la distance de visualisation maximale du niveau de zoom actuel avec l'API Google Maps
- 14. Google Maps v3: Enforcing min. niveau de zoom lors de l'utilisation de fitBounds
- 15. API Google Maps: Calculer le centre/le zoom de la polyligne
- 16. Niveaux de zoom dans les fichiers kml sur google maps
- 17. Comment définir le niveau de zoom de Google Map pour afficher tous les marqueurs?
- 18. Google Maps: comment déplacer les commandes de zoom?
- 19. google maps api java
- 20. Google maps Zoom de la valeur d'entrée cachée
- 21. Obtenir des images pour un rectangle dans l'API Google Static Maps
- 22. Niveau de zoom avec imagerie satellite avec google maps api v3
- 23. Java et Google Maps
- 24. Java: Google Maps alternative
- 25. Redimensionner les marqueurs en fonction du zoom Google maps v3
- 26. Google Maps à travers Java?
- 27. Afficher une image dans une position fixe dans Google Maps; la visibilité dépend du niveau de zoom
- 28. Google Static Maps Déplacer des cartes avec un doigt
- 29. google maps marqueurs
- 30. Zoom sur android dev - google maps devient plus lent
Mais, comment faites-vous ce zoom? – elvenbyte