2015-10-22 2 views
0

У меня есть простое приложение с Google Map и динамическая загрузка маркеров. В случае, если 2 или более маркеров имеют один и тот же лат и длинный только один. Есть ли решение для этого? Вот как я начерпываю маркеры, чтобы нанести на картуAndroid Google Map несколько маркеров в одном месте

private void plotMarkers(ArrayList<MyMarker> markers, String markerIcon) 
    { 
     if(markers.size() > 0) 
     { 

      for (MyMarker myMarker : markers) 
      { 
       // Create user marker with custom icon and other options 
       // Toast.makeText(getApplicationContext(), myMarker.getmLatitude().toString(), Toast.LENGTH_SHORT).show(); 
       MarkerOptions markerOption = new MarkerOptions().position(new LatLng(myMarker.getmLatitude(), myMarker.getmLongitude())); 
       markerOption.icon(BitmapDescriptorFactory.fromResource(manageMarkerIcon(markerIcon))); 

       Marker currentMarker = mMap.addMarker(markerOption); 
       mMarkersHashMap.put(currentMarker, myMarker); 
       mMap.setInfoWindowAdapter(new MarkerInfoWindowAdapter()); 
      } 
     } 
    } 

ответ

0

Даже если бы вы могли, как бы вы использовали эти два перекрывающихся маркера? только верхний будет виден. Вместо этого, если два маркера перекрываются, вы можете выразить данные, которые они делят в одном маркере, который содержит их оба.

этот ответ может помочь: Android Google Maps v2 - Add object to marker

0

Оба маркера показаны, но и на том же месте, и это, кажется, только один, и если нажать на них, только одно информационное окно будет представлено.

Если вам действительно нужно добавить два маркера в том же месте, вы можете взглянуть на Google Maps Android Marker Clustering Utility. Это часть Google Maps Android API Utility Library.

Возможным обходным путем может быть проверка наличия другого маркера в позиции, в которую вы пытаетесь нарисовать маркер, и если это так, переместите новый маркер немного.

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