2012-08-06 2 views
4

Je suis en train de convertir les coordonnées d'écran en un géopoint dans android mapview. J'ai besoin de montrer un marqueur au centre de l'écran (mapview est rempli dans la fenêtre). J'ai donc essayé d'obtenir les coordonnées du centre en utilisant les méthodes display getWidth() et getHeight() et converties en geoppoint en utilisant mapView.getProjection(). FromPixels (height/2, width/2). Mais il semble donner de mauvais résultats. Que dois-je faire?Comment faire pour convertir les coordonnées d'écran en géopoint dans android

Répondre

5

Vous avez passer la hauteur et l'argument largeur mauvais changement

mapView.getProjection().fromPixels(width/2,height/2);

essayer ce code

Projection proj = mapview.getProjection(); 
GeoPoint proj.fromPixels(int x, int y) ; 

ici, vous devez passer le coordonnées x, y et convertira à GeoPoint vous pouvez également le réserver de GeoPoint à pixel également à partir de cet objet

Point p = new Point(); 
proj.toPixels(GeoPoint in, android.graphics.Point out) 

vérifier ce lien pour plus d'infos

https://developers.google.com/maps/documentation/android/reference/com/google/android/maps/Projection

0

Prenez-vous en compte la taille notificationBar? peut-être aussi le appBar?

Ce que vous voulez savoir est la largeur et la hauteur du MapView, puis obtenir la projection :)

Questions connexes