Profete162 Posté(e) 19 mars 2010 Share Posté(e) 19 mars 2010 Salut à tous, Je commence à bien m'amuser avec les cartes Google, mais suis maintenant face à un petit souci. J'ai bien compris que l'on peut centrer sa carte en un point désiré avec un niveau de zoom X: monControler.setZoom(Zoomlevel); monControler.setCenter(point); Il y a même plein d'autres options sympa: http://code.google.com/intl/fr-FR/android/add-ons/google-apis/reference/com/google/android/maps/MapController.html Maintenant, ma question est ma suivante, j'aimerais afficher dans la carte ma position et un point. Et il faudrait que ma carte affiche les 2 avec un zoom "malin" J'ai déjà réfléchi à de nombreuses méthodes pour calculer la distance entre moi et le point, et trouver un zoom adapté, et centrer sur le point milieu, mais je me demande si il n'y a pas plus simple. Car là, je suis parti dans des calculs savants et complexes tout en étant convaincu qu'il doit y avoir une solution simple. Merci d'avance pour vos idées. Profete162 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
neoakira Posté(e) 19 mars 2010 Share Posté(e) 19 mars 2010 heu, et zoomToSpan() ? http://code.google.com/intl/fr-FR/android/add-ons/google-apis/reference/com/google/android/maps/MapController.html#zoomToSpan%28int,%20int%29 en mettant la latitude d'un point et la longitude de l'autre, ou l'inverse ? Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Profete162 Posté(e) 19 mars 2010 Auteur Share Posté(e) 19 mars 2010 (modifié) Bon, bin apres des heures de folie, c'est juste le "mapView.getController().setZoom(16);" qui n'est pas pris en compte. Je dois faire un "redraw" de la carte ou quelquechose du genre? mapView.invalidate() ne semble pas fonctionner non plus! Je dois systématiquement taper sur un des boutons de zoom pour afficher ma vue correctement Modifié 19 mars 2010 par Profete162 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Profete162 Posté(e) 19 mars 2010 Auteur Share Posté(e) 19 mars 2010 Pour résumer mon problème: Je mets ceci n'importe ou dans le code: double lat1 = gpGare.getLatitudeE6(); double lat2 = gptest.getLatitudeE6(); double lon1 = gpGare.getLongitudeE6(); double lon2 = gptest.getLongitudeE6(); GeoPoint gpMiddle= new GeoPoint((int)((lat1+lat2)/2),(int)((lon1+lon2)/2)); //DrawPath(gpMe, gpGare, Color.BLUE, mapView); monControler.setCenter(gpMiddle); monControler.setZoom(16); maMap.invalidate(); et ca m'emmène au bon endroit, mais avec un zoom qui était utilisé avant. Je cliques sur un des boutons de zoom et tout se remet correctement. A devenir fou! Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Profete162 Posté(e) 19 mars 2010 Auteur Share Posté(e) 19 mars 2010 Ca y'est, une soirée de perdue. Je mets l'explication ici pour éviter à d'autres de subir la même humiliation: J'en avais marre de switcher entre ma Key API de développement et de débug, j'ai donc laissé la mauvaise en me disant que juste la carte ne s'afficherait pas. Mais en fait, c'est beaucoup plus vicieux, il semble que le zoom et le refresh en dépendent aussi. J'ai juste remis la bonne clef et tout à fonctionné. Une soirée à foutre à la poubelle! Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
naholyr Posté(e) 26 mai 2010 Share Posté(e) 26 mai 2010 Déterrage de topic, mais au final, le zoomToSpan() était-il une solution ? :) Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Profete162 Posté(e) 26 mai 2010 Auteur Share Posté(e) 26 mai 2010 Oui, effectivement, c'est pas clair dans mon post précédant, mais ca fonctionne nickel. Juste qu'il faut pas se gourer dans les clefs, car je débuggais sans les maps et j'affichais mon overlay, mais il mettait jamais le bon span. Du coup, le simple fait d'afficher la carte derrière affichait le bon zoom, cela m'a paru bizarre. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
naholyr Posté(e) 26 mai 2010 Share Posté(e) 26 mai 2010 Juste qu'il faut pas se gourer dans les clefsOuais, c'est chiant :) Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Recommended Posts
Rejoignez la conversation
Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.