Ответ 1
Это очень просто:
locationMarker.showInfoWindow();
Я добавляю маркер по умолчанию в GoogleMap следующим образом:
GoogleMap map = ((MapFragment) getFragmentManager().findFragmentById(R.id.editMapMap)).getMap();
MarkerOptions markerOptions = new MarkerOptions();
markerOptions.position(currentLocation.getCoordinate());
markerOptions.title(Utils.getLocationString(currentLocation.getCoordinate()));
markerOptions.snippet("Blah");
locationMarker = map.addMarker(markerOptions);
locationMarker.setDraggable(true);
Как я могу сделать маркер всегда показывать название и фрагмент без прикосновения? Я также хотел бы отключить скрытие их при прикосновении.
Это очень просто:
locationMarker.showInfoWindow();
Просто верните false для onMarkerClickListener
, если вы вернете true, отобразите infoWindow
.
Чтобы скрыть заголовок, когда мы нажимаем на маркер:
map.setOnMarkerClickListener(this);
...
@Override
public boolean onMarkerClick(Marker arg0) {
Log.i(TAG,"marker arg0 = "+arg0);
return false;
}
Если мы вернем истинный заголовок, будет отображаться, иначе, если мы вернем ложное название, оно не будет отображаться.
Существует два метода отображения и скрытия маркеров. Возвращаемое значение boolean просто предотвращает выполнение по умолчанию (false) или позволяет ему произойти (true). Другими словами, он информирует систему о том, потреблял ли вы это событие или нет. См. Справочник по API Google.
private GoogleMap.OnMarkerClickListener onMarkerClickedListener = new GoogleMap.OnMarkerClickListener() {
@Override
public boolean onMarkerClick(Marker marker) {
if (marker.isInfoWindowShown()) {
marker.hideInfoWindow();
} else {
marker.showInfoWindow();
}
return true;
}
};
mGoogleMap.setOnMarkerClickListener(onMarkerClickedListener);
используйте showInfoWindow()
и добавьте маркер, как показано ниже.
Marker marker = mMap.addMarker(new MarkerOptions().position(currentPosition).title("Your text"));
marker.showInfoWindow();