これをアプリに実装したいのですが、マーカーにボタンを持たせる方法や、クリックした部分を OnMarkerClickListener に教えてもらう方法がわかりません。
例として、これが公式のマップ アプリです。ルート アイコンは別のパーツ/ボタンで、右側にはレビューが表示されます。
これをアプリに実装したいのですが、マーカーにボタンを持たせる方法や、クリックした部分を OnMarkerClickListener に教えてもらう方法がわかりません。
例として、これが公式のマップ アプリです。ルート アイコンは別のパーツ/ボタンで、右側にはレビューが表示されます。
Google Maps Android APIの新しいバージョンを使用していると思います
を使用して情報ウィンドウを任意のビューに設定できますがGoogleMap.setInfoWindowAdapter()
、マップ上にレンダリングされる情報ウィンドウはライブ ビューではありません。代わりに、ビューがアダプターによって返されたときのビューのスナップショットです。そのため、残念ながら現在、情報ウィンドウでクリック イベントを区別する方法はありません。
少し前の私の回答を参照してください。代わりに、OnMarkerClickListener でマーカー クリック イベントをリッスンし、独自の完全なビューを直接表示します。ただし、マーカーの位置に固定するのは少し手間がかかるかもしれません。popupWindow を showAtLocation(View parent, intgravity, int x, int y) で試してください
基本的に、必要な html コードを InfoWindow の content プロパティにプッシュできます。
参照として: https://developers.google.com/maps/documentation/javascript/overlays#InfoWindows
「バブル」は、マップの上に配置される単なる別のビューです。したがって、OnMarkerClickedListener
どのピンがクリックされたかがわかります。そこから、画面上のピンの実際の位置を取得し、それを使用して、通常の Android ウィジェットのみを含むバブル ビューを配置できます。