【发布时间】:2013-01-24 12:52:38
【问题描述】:
我启用了 Google Maps Android API v2 的我的位置层,它添加了浮动按钮以转到用户的当前位置。我需要一种方法来检测对这个按钮的点击。这可能吗?
【问题讨论】:
标签: android google-maps google-maps-android-api-2
我启用了 Google Maps Android API v2 的我的位置层,它添加了浮动按钮以转到用户的当前位置。我需要一种方法来检测对这个按钮的点击。这可能吗?
【问题讨论】:
标签: android google-maps google-maps-android-api-2
自发布此问题以来,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 不会。
【讨论】:
8月最新发布的谷歌地图android api V2包含一个监听我的位置按钮点击的方法:onMyLocationButtonClick ()这可以用来知道用户什么时候点击了按钮并返回如果侦听器已消费该事件,则为 true
【讨论】:
不,目前无法获取该信息。为此提出了一项功能请求,并且已得到 Google 的确认。
如果您想更快地解决问题,请加注星标:
解决方法:
禁用内置控件并创建自己的视图并将其添加到屏幕。为这个按钮设置一个 onClickListener 并将地图动画到地图的位置。
禁用默认控件:
UiSettings.setMyLocationButtonEnabled(false)
从地图上获取我的位置:
GoogleMap.getMyLocation()
【讨论】:
很高兴知道这一点,因为我也对此感到疑惑。现在,有没有办法知道谷歌的位置服务是否已启用,以便我们决定是否要启用该按钮?拥有一个不执行任何操作的按钮是没有意义的,因此解决方法(始终禁用该按钮)似乎是目前唯一的选择。
【讨论】: