2016-04-19 3 views
1

Я пытаюсь использовать API GoogleMap для Android, но я хочу скрыть инфо-окно, когда пользователь нажимает на палец, который упал. Тем не менее, я все еще хочу, чтобы указатели и значок латгага отображались.Скрыть InfoWindow от API GoogleMaps, но сохраните значок направлений

Других слов, картина должна выяснить, что мне нужно:

enter image description here

Я пытался добавить слушатель к выводам я отброшенные, но это убивает весь InfoWindow и значки направлений, а также, как таковой:

@Override 
public void onMapReady(GoogleMap googleMap) { 
    mMap = googleMap; 

    LatLng location1 = new LatLng(32.75613, -117.11648); 
    mMap.addMarker(new MarkerOptions().position(location1).title("Hello")); 

    LatLng location2 = new LatLng(32.754978528015876, -117.12977170944214); 
    mMap.addMarker(new MarkerOptions().position(location2).title("World")); 

    mMap.animateCamera(CameraUpdateFactory.newLatLngZoom(location1, 12.0f)); //zoom out 

    // This does not work, if I turn it to true, I loose the directions icon 
    // I don't want a custom info window, I just want to hide it and have the directions 
    // icon still showing up 
    if (false) { 
     mMap.setOnMarkerClickListener(new GoogleMap.OnMarkerClickListener() { 

      @Override 
      public boolean onMarkerClick(Marker marker) { 
       Log.d("zzz", "marker = " + marker.getTitle()); 
       mMap.animateCamera(CameraUpdateFactory.newLatLngZoom(marker.getPosition(), 14.0f)); //zoom out 
       return true; 
      } 
     }); 
    } 
} 

Можно ли сделать, не переписывая всю логику значка направлений?

thx!

ответ

0

лучшее решение, только что сделал точку пути ахор от экрана.

private static final float ACHOR_WINDOWS_U = -9999; 
private static final float ACHOR_WINDOWS_V = -9999; 

...

Marker marker = map.addMarker(markerOptions); 
marker.setInfoWindowAnchor(ACHOR_WINDOWS_U, ACHOR_WINDOWS_V); 
0

попробовать этот

map.addMarker(new MarkerOptions().position(new LatLng(0, 0)));  
mMap.setOnMarkerClickListener(new GoogleMap.OnMarkerClickListener() { 
    @Override 
    public boolean onMarkerClick(Marker marker) { 
     mMap.animateCamera(CameraUpdateFactory.newLatLngZoom(marker.getPosition(), 14.0f)); 
     return false; 
    } 
}); 
Смежные вопросы