我的位置按钮事件监听器

Jul*_*ira 19 android google-maps google-maps-android-api-2

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

Cyb*_*rEd 46

自此问题发布以来,Google已更新了API.他们增加了一个onMyLocationButtonClick()听众.

要添加侦听器:

//add location button click listener
map.setOnMyLocationButtonClickListener(new GoogleMap.OnMyLocationButtonClickListener(){
    @Override
    public boolean onMyLocationButtonClick()
    {
        //TODO: Any custom actions
        return false;
    }
});
Run Code Online (Sandbox Code Playgroud)

返回false将基本上调用super方法.回归真的不会.


ton*_*y m 29

最新版本的谷歌地图android api V2在8月份包含了一个用于点击我的位置按钮的监听器方法:onMyLocationButtonClick()这可以用来知道用户何时点击了按钮并在监听器消耗了事件时返回true


bal*_*azs 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)
Run Code Online (Sandbox Code Playgroud)

从地图上获取我的位置:

GoogleMap.getMyLocation()
Run Code Online (Sandbox Code Playgroud)

  • 这已不再适用,Android已更新.请参阅下面的Tony或我的回答. (4认同)