ユーザーがスポット(地図上の場所)をクリックすると、Maps 3D SDK for Android は
Place Widgets
をそのスポットに表示します。クリック イベントをリッスンし、
OnMap3DClickListenerを使用してこのウィジェットを抑制できます。
Places ウィジェットを使用するには、Places
SDK を依存関係として追加する必要があります。
クリック イベントをリッスンする
地図上のクリック イベントをリッスンするには、
setMap3DClickListener
インスタンスで
GoogleMap3D
を呼び出します。
ユーザーが地図をクリックすると、
onMap3DClick
コールバックは次のプロパティを含む
Map3DClickEvent
オブジェクトを受け取ります。
location: クリックした場所の地理座標と高度を表すLatLngAltitude。placeId: クリックした場所の固有識別子(String?)。スポットがない場合はnull。
onMap3DClick
メソッドは Boolean を返します。
- Return
falseを返す: デフォルトの Places UI ウィジェットを表示します(placeIdがnullでない場合)。 - Return
true: デフォルトの Places UI ウィジェットを抑制します。
次の例は、クリック リスナーを設定し、デフォルトの Places UI ウィジェットを抑制してカスタム アクションを実行する方法を示しています。
googleMap3D.setMap3DClickListener { clickEvent ->
val location = clickEvent.location
val placeId = clickEvent.placeId
// Perform custom action, for example logging or showing a custom tooltip
showCustomTooltip(location, placeId)
// Suppress the default Places UI widget by returning true
true
}