2013-02-05 4 views
18

J'utilise Google Maps v2 dans mon application. Lorsque l'utilisateur parcourt ou zoome sur l'écran, je voudrais obtenir la zone de la carte sur la base de laquelle je veux aller chercher le POI uniquement dans la partie de l'écran.
J'ai parcouru la documentation mais je n'ai trouvé aucune aide.Android Google Maps obtient des coordonnées de limite

Répondre

50

Vous devez utiliser les classes Projection et VisibleRegion afin d'obtenir une région de latence visible.
donc votre code ressemblerait à quelque chose comme:

LatLngBounds curScreen = googleMap.getProjection() 
    .getVisibleRegion().latLngBounds; 
+0

j'ai essayé ce que je reçois seulement au nord-ouest et sud-ouest valeur. une idée de comment obtenir les deux autres valeurs? –

+1

nord-est et sud-ouest vous voulez dire? Si oui, c'est ainsi que la boîte englobante est représentée (coins en haut à droite et en bas à gauche de la fenêtre). Compte tenu de ces deux points, il est assez simple de calculer 2 autres points. Droite? Le moyen le plus simple de vérifier si certains POI (LatLng) sont dans la boîte - est d'appeler l'interface 'LatLngBounds.contains (LatLng point)'. Cependant, l'affichage d'une grande quantité de marqueurs sur une carte est une histoire distincte –

+0

comment puis-je obtenir les deux autres points, je suis désolé est confus. Ant à propos de montrer beaucoup de marqueurs est-il une façon optimisée de faire cela? –