2013-02-11 4 views
2

Je sais comment ajouter un point à la carte.Afficher plusieurs points avec Google Maps Android API v2

private void addMarkertoMap() { 

     LatLng MarkerPos = new LatLng (24.803751, 1.479969); 

     googlemap.addMarker(new MarkerOptions() 

     .icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_ROSE)) 
     .position(MarkerPos) 
     ); 

Mais si j'ai de nombreux points (des centaines) et je veux les afficher à partir du fichier GML ou KML? Est-il possible dans Google Maps Android API? De l'aide?

Merci!

+0

@Waza_Be Comment faire? – Vis

+0

Avez-vous lu ma réponse et mes commentaires, cela va fonctionner! –

Répondre

6

Vous pouvez ajouter uniquement les marqueurs qui sont actuellement visibles à l'écran (sachez toutefois que vous devez garder trace des marqueurs que vous ajoutez à l'écran afin de ne pas les ajouter encore et encore. Vous pouvez même vouloir supprimer ceux qui ne sont plus visibles)

mMap.setOnCameraChangeListener(new OnCameraChangeListener() { 
    @Override 
    public void onCameraChange(CameraPosition position) { 
     final LatLngBounds screenBounds = mMapView.getProjection().getVisibleRegion().latLngBounds; 
     for (YourPoint point : mPoints) { 
     if (screenBounds.contains(point.getLatLng()) { 
      mMapView.addMarker(point.getLatLng()); 
     } 
     } 
    } 
} 
0

Réponse à votre question: oui, c'est possible.

for (int i = 0; i < 10; i++) { addMarker(/* Something*/); } 

Maintenant, il est peut-être temps de penser .. Avez-vous vraiment besoin d'afficher des centaines de points sur une carte? Peut-être que vous pourriez seulement afficher les 20 points les plus proches, ou les 30 plus de ...

Pouvez-vous s'il vous plaît redéfinir votre question afin que nous puissions répondre et comprendre ce que vous voulez.

Il est très difficile de comprendre ce que vous voulez et où est la question.

+0

J'ai 452 points (Lat Lon) dans le fichier GML et je dois les afficher sur la carte. Ma question est comment faire cela? Merci! – Vis

+0

@Vis: "comment faire ça?" - appelez 'addMarker()' 452 fois. Bien que je sois d'accord avec Waza_Be, vos utilisateurs ne seront pas impressionnés par la convivialité de votre application. – CommonsWare

+0

@Vis pour (int i = 0; i <10; i ++) {addMarker (/ * Quelque chose * /); } –

Questions connexes