Маркер карты google можно перетаскивать по экрану, поэтому я хочу знать, есть ли способ инициировать событие, когда маркер отбрасывается в определенном месте на экране, скажем, в нижнем левом углу.Как инициировать событие, когда маркер карты google удаляется в определенном месте на экране?
ответ
После инициализации макета и создания карты добавьте следующий код в onCreate();
View mapView = getSupportFragmentManager().findFragmentById(R.id.map).getView();
if (mapView.getViewTreeObserver().isAlive()) {
mapView.getViewTreeObserver().addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
mapView.getViewTreeObserver().removeGlobalOnLayoutListener(this);
map.moveCamera(CameraUpdateFactory.newLatLngZoom(CENTER, 15));
Point markerScreenPosition = map.getProjection().toScreenLocation(marker.getPosition());
int x = markerScreenPosition.getX();
int y = markerScreenPosition.getY();
if(x == yourValue && y == yourValue){
//your trigger code goes here
}
}
});
}
Нет по местоположению Я имел в виду расположение экрана (x, y), как я уже упоминал, как внизу слева от экрана – Nobody
Я отредактировал свой ответ. Надеюсь это поможет. – tahsinRupam
Я думаю, что маркеры автоматически не отбрасываются. они обрабатываются вашим кодом. например, вы можете добавить маркер на карту или щелкнуть по длинному клику карты. получить это событие и попытаться установить
Это можно сделать, установив перетаскиваемым '.draggable (истина)' Я хотите знать, как инициировать событие, основанное на том, где его упали на экране, как нижний угол, как я спросил – Nobody
. В этом случае вы можете [Попробуйте это] (https://developers.google.com/android/reference/com /google/android/gms/maps/GoogleMap.OnMarkerDragListener) –
проверка https://developers.google.com/android/reference/com/google/android/gms/maps/GoogleMap.OnMarkerDragListener – AndroidRuntimeException