20

Google Maps Android API v2の現在地レイヤーを有効にしました。これにより、ユーザーの現在地に移動するためのフローティングボタンが追加されます。このボタンのクリックを検出する方法が必要です。これは可能ですか?

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を返すと、基本的にスーパーメソッドが呼び出されます。trueを返すことはありません。

于 2015-06-16T21:02:40.413 に答える
29

8月のGoogleMapsandroid 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

私もこれについて疑問に思っていたので、これは知っておくとよいでしょう。では、ボタンを有効にするかどうかを決定できるように、Googleの位置情報サービスが有効になっているかどうかを知る方法はありますか?何もしないボタンがあるのは意味がないので、回避策(そのボタンを常に無効にする)が今のところ唯一のオプションのようです。

于 2013-08-13T18:41:27.087 に答える