ユーザーがスポット(POI)をクリックすると、Maps 3D SDK for Android はそのスポットの Places ウィジェットを表示します。クリック イベントをリッスンしてこのウィジェットを抑制するには、OnMap3DClickListener を使用します。Places ウィジェットを使用するには、Places SDK を依存関係として追加する必要があります。
クリック イベントをリッスンする
地図上のクリック イベントをリッスンするには、GoogleMap3D インスタンスで setMap3DClickListener を呼び出します。
ユーザーが地図をクリックすると、onMap3DClick コールバックは次のプロパティを含む Map3DClickEvent オブジェクトを受け取ります。
location: クリックの地理座標と高度を表すLatLngAltitude。placeId: クリックされた場所の固有識別子(String?)。ない場合はnull。
onMap3DClick メソッドは Boolean を返します。
- Return
false: デフォルトの Places UI ウィジェットを表示します(placeIdがnullでない場合)。 - Return
true: デフォルトのプレイス UI ウィジェットを抑制します。
次の例は、クリック リスナーを設定し、デフォルトのプレイス 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
}