Разбирам, че мога да използвам GoogleMap.OnMyLocationButtonClickListener, за да определя кога потребителят е натиснал бутона, за да накара GoogleMap да следва тяхното местоположение на екрана, но има ли начин да получа събитие, когато потребителят вече не следва устройството? Например, ако потребителят е преместил картата, което спира заключването на картата към местоположението на потребителя.
Как да разбера кога потребителят е следван от картата или не?
Отговори (2)
Можете да добавите OnCameraChangeListener, той ще бъде извикан, ако картата бъде плъзгана. В неговата onCameraChange сравнете CameraPosition#target LatLng с MyLocation.
Ето промяната на камерата и слушателите на моето местоположение в същия API:
https://developers.google.com/maps/documentation/android/reference/com/google/android/gms/maps/GoogleMap.OnCameraChangeListener
https://developers.google.com/maps/documentation/android/reference/com/google/android/gms/maps/GoogleMap.OnMyLocationChangeListener
person
leorleor
schedule
28.08.2013
Предлагам да използвате View
припокриващ се MapFragment
и да замените неговия onTouchEvent
, като проверите DOWN
събитие, за да спрете да следвате позицията. Това е моментът, в който потребителят започва взаимодействие с картата.
person
MaciejGórski
schedule
28.08.2013
Звучи добре за повечето случаи, може да пропуснете някои случаи като тракбол / dpad / неща за достъпност.
- person leorleor; 29.08.2013
@leorleor Добра точка, въпреки че GM Android API v2 също не поддържа тези.
- person MaciejGórski; 29.08.2013