20

我启用了 Google Maps Android API v2 的 my-location 层,它添加了浮动按钮以转到用户的当前位置。我需要一种方法来检测对这个按钮的点击。这可能吗?

4

4 回答 4

52

自发布此问题以来,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 不会。

于 2015-06-16T21:02:40.413 回答
29

8月最新发布的谷歌地图android api V2包含一个监听我的位置按钮点击的方法:onMyLocationButtonClick()这可以用来知道用户什么时候点击了按钮,如果监听已经消费了该事件则返回true

于 2013-09-02T14:27:10.497 回答
10

不,目前没有办法获得该信息。为此提出了一个功能请求,并且已被 Google 确认。

如果您想要更快的修复,请加注星标:

http://code.google.com/p/gmaps-api-issues/issues/detail?id=4789&q=apitype%3DAndroid2&colspec=ID%20Type%20Status%20Introduced%20Fixed%20Summary%20Stars%20ApiType%20Internal


解决方法:

禁用内置控件并创建自己的视图并将其添加到屏幕。为这个按钮设置一个 onClickListener 并将地图动画到地图的位置。

禁用默认控件:

UiSettings.setMyLocationButtonEnabled(false)

从地图上获取我的位置:

GoogleMap.getMyLocation()
于 2013-02-08T17:32:42.113 回答
0

很高兴知道这一点,因为我也想知道这一点。现在,有没有办法知道谷歌的位置服务是否已启用,以便我们决定是否要启用该按钮?拥有一个不执行任何操作的按钮是没有意义的,因此解决方法(始终禁用该按钮)似乎是目前唯一的选择。

于 2013-08-13T18:41:27.087 回答