Google Maps Android API v2の現在地レイヤーを有効にしました。これにより、ユーザーの現在地に移動するためのフローティングボタンが追加されます。このボタンのクリックを検出する方法が必要です。これは可能ですか?
4 に答える
この質問が投稿されてから、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を返すことはありません。
8月のGoogleMapsandroid api V2の最新リリースには、現在地ボタンをクリックするためのリスナーメソッドが含まれています:onMyLocationButtonClick()これは、ユーザーがボタンをクリックしたことを知るために使用でき、リスナーがイベントを消費した場合はtrueを返します
いいえ、現在、その情報を取得する方法はありません。そのために提起された機能リクエストがあり、それはすでにGoogleによって承認されています。
より迅速な修正が必要な場合は、スターを付けてください。
回避策:
組み込みのコントロールを無効にし、独自のビューを作成して画面に追加します。onClickListenerをこのボタンに設定し、マップをマップの場所にアニメーション化します。
デフォルトのコントロールを無効にします。
UiSettings.setMyLocationButtonEnabled(false)
地図から私の場所を取得します。
GoogleMap.getMyLocation()
私もこれについて疑問に思っていたので、これは知っておくとよいでしょう。では、ボタンを有効にするかどうかを決定できるように、Googleの位置情報サービスが有効になっているかどうかを知る方法はありますか?何もしないボタンがあるのは意味がないので、回避策(そのボタンを常に無効にする)が今のところ唯一のオプションのようです。