2013-02-11 3 views
2

Я знаю, как добавить точку к карте.Показать много точек с помощью API Google Maps Android v2

private void addMarkertoMap() { 

     LatLng MarkerPos = new LatLng (24.803751, 1.479969); 

     googlemap.addMarker(new MarkerOptions() 

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

Но что, если у меня есть много точек (сотни), и я хочу, чтобы отобразить их GML или KML файл? Возможно ли это в API Google Maps для Android? Любая помощь?

Спасибо!

+0

@Waza_Be Как это сделать? – Vis

+0

Вы читали мой ответ и мои комментарии, которые будут работать! –

ответ

6

Вы можете добавить только те маркеры, которые в настоящее время видны на экране (хотя учтите, что вы хотите отслеживать те маркеры, которые вы добавляете на экран, чтобы вы не добавляли их снова и снова. Вы даже можете удалить те, которые больше не видны)

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

На ваш вопрос: да, это возможно.

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

Теперь, возможно, пора подумать. Вам действительно нужно отображать сотни точек на карте? Возможно, вы смогли отобразить только 20 ближайших точек или еще 30 релевантов ...

Можете ли вы, пожалуйста, уточнить свой вопрос, чтобы мы могли ответить и понять, что вы хотите.

Очень сложно понять, что вы хотите, и где вопрос.

+0

У меня есть 452 балла (Lat Lon) в файле GML, и я должен отображать их на карте. Мой вопрос: как это сделать? Благодаря! – Vis

+0

@Vis: «как это сделать?» - вызвать 'addMarker()' 452 раза. Хотя я согласен с Waza_Be, что ваши пользователи будут не впечатлены удобством вашего приложения. – CommonsWare

+0

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

Смежные вопросы