Я включил слой моего местоположения Google Maps Android API v2, который добавляет плавающую кнопку для перехода к текущему местоположению пользователя. Мне нужен способ обнаружить нажатие на эту кнопку. Это возможно?
Слушатель событий кнопки моего местоположения
Ответы (4)
Нет, в настоящее время нет возможности получить эту информацию. Для этого есть запрос на функцию, и он уже подтвержден Google.
Пометьте это, если вы хотите более быстрое исправление:
Обходной путь:
Отключите встроенный элемент управления и создайте свой собственный вид и добавьте его на экран. Установите onClickListener для этой кнопки и анимируйте карту в соответствии с местоположением карты.
Отключите элемент управления по умолчанию:
UiSettings.setMyLocationButtonEnabled(false)
Получить мое местоположение с карты:
GoogleMap.getMyLocation()
Поскольку этот вопрос был опубликован, Google обновил API. Они добавили слушателя onMyLocationButtonClick()
.
Чтобы добавить прослушиватель:
//add location button click listener
map.setOnMyLocationButtonClickListener(new GoogleMap.OnMyLocationButtonClickListener(){
@Override
public boolean onMyLocationButtonClick()
{
//TODO: Any custom actions
return false;
}
});
Возврат false по существу вызовет метод super. Возврата true не будет.
Последний августовский выпуск Google Maps android api V2 содержит метод прослушивания щелчков кнопки моего местоположения: onMyLocationButtonClick () Это можно использовать, чтобы узнать, когда пользователь нажал кнопку, и возвращает true, если слушатель воспользовался событием.
Это хорошо знать, поскольку я также задавался вопросом об этом. Теперь, есть ли способ узнать, включена ли служба определения местоположения Google, чтобы мы могли решить, хотим ли мы включить кнопку или нет? Нет смысла иметь кнопку, которая ничего не делает, поэтому обходной путь (отключение этой кнопки всегда) кажется единственным вариантом на данный момент.