Je travaille avec google maps api 10 depuis un certain temps et il y a un bug que je ne peux pas tout simplement parce que solution im 99,9% que sa bibliothèque au sein de googles.la recherche d'une solution de contournement pour un bogue dans google maps Projection
Je fais beaucoup de projection .toPixels()
pour dessiner des choses et tout fonctionne très bien. Je zoom avec des méthodes de zoom personnalisé mapController.setZoom(getZoom() +1)
et tout cela fonctionne jusqu'à ce que j'utilise un zoom pincement (zoom à 2 doigts). Après cela, la projection semble être coincée dans certains niveaux de zoom.
Si je zoom par pincement de 12 à 11 les cartes getZoomLevel()
me donne 11 (il signale toujours le bon niveau). Maintenant, si j'utilise ma méthode zoomOut je suis au niveau 13 et la projection calcule tout droit pour le niveau 13 mais chaque zoomOut ne change que le niveau de zoom des cartes (en interne, rappelez-vous, l'appareil n'a pas d'Internet donc pas de données cartographiques). La projection continue à calculer tout comme si c'était encore le zoom 13!
Devrais-je zoomer? La projection passe soudainement au niveau 11, quel que soit le niveau réel de la carte. Donc, si je pince le zoom à 12, la projection est bloquée à 11/13 et ne fera que sauter entre ces deux si je zoome sur/in.
IF i nouveau pincement zoom, la projection est mis à jour, mais bloqué à nouveau au niveau auquel je pincement zoomé.
Ainsi, un pincée de zoom sans Internet tue complètement la projection et la carte tout devient inutile (dans mon cas, je ne ai pas vraiment besoin de la carte visuelle, j'ai juste besoin sa traduction GeoPoint, thats la partie la plus importante). Est-ce que quelqu'un sait un correctif/solution de contournement ou tout ce qui pourrait m'aider autre que désactiver plus de 1 pointeur dans le sur-contact?
Carte Stuff dans le constructeur de mon customMapView
setVisibility(View.VISIBLE);
mapController = getController();
mapController.setZoom(17);
setBuiltInZoomControls(false);
getZoomButtonsController().setVisible(false);
setSatellite(false);
setTraffic(false);
setClickable(true);
preLoad();
et thats comment je zoom avec les boutons personnalisés
mapController.setZoom(getZoomLevel() + 1); // zoom in
mapController.setZoom(getZoomLevel() - 1); // zoom out
1) boutons de zoom fonctionnent
2) pincer zoom arrière
3) maintenant les boutons/zoom via le bouton montre le comportement comme décrit ci-dessus
Informations additionnelles:
Je viens d'utiliser les applications « myTracks » et « couple ».
Les deux utilisent googlemaps.
Dans les deux j'ai enregistré des pistes.
Maintenant, si je désactive Internet et utiliser le zoom à 2 doigts et après que le zoom avant/arrière avec les boutons habituels, à un moment donné de la piste erre au loin dans une certaine direction, même si elle est parfaitement centrée. Jusqu'au moment où la piste est partie après beaucoup de zoom arrière.
La seconde je réactiver internet et la carte est capable de charger quelques tuiles le NEXT zoom fonctionne et tout va bien ... car la carte semble nécessiter quelques données d'internet pour calculer quelque chose dans la projection et cela quelque chose semble être fourni par un zoom à 2 doigts ... c'est comme ça que je le vois.
3 Apps, tout le même problème ...
je suis désolé, j'ai décrit le problème aussi clairement que je peux:/mais il n'a rien à voir avec ce que nous décrivons. Im travaillant avec la carte depuis près de 2 ans maintenant, ce n'est pas si simple, le problème est enterré quelque part au fond de la bibliothèque – NikkyD
Je travaille aussi avec google map depuis près de 2 ans :-) Avant de poster ma réponse, j'ai testé un de mes programmes affichant un chemin avec 10.000 points dans un périphérique déconnecté du réseau. Il n'a jamais échoué à gérer correctement le zoom. J'ai essayé plusieurs pichs pour zoomer (in et out) suivi par des boutons de zoom (et aussi un zoom automatique développé par moi) et tous ont bien fonctionné. Lisez attentivement ce que j'ai décrit ci-dessus et effectuez d'autres tests (avec des messages de journal pour afficher les niveaux de zoom) et vous serez en mesure d'affiner le problème. – Luis
Si vous le souhaitez, postez un exemple de code souffrant du problème et je vais le vérifier. Cordialement – Luis