MapViewHolderInterface 概要
MapViewHolderInterface は、MapConductor の統一 API でカバーされていない特定の地図SDK機能が必要な高度なユースケースのために、ネイティブ地図 SDK インスタンスへのアクセスを提供します。MapConductor は共通のインターフェースを提供しますが、すべてのネイティブ機能を完全にラップするわけではなく、MapViewHolderInterface がこのギャップを埋めます。
MapConductor は地図SDK間で統一された API を提供することを目指していますが、完全な機能パリティは必ずしも可能ではありません。MapViewHolderInterface を使用すると、開発者は地図SDK固有の機能が必要な場合に、基盤となるネイティブ地図インスタンスにアクセスできます。
interface MapViewHolderInterface<ActualMapViewType, ActualMapType> { val mapView: ActualMapViewType val map: ActualMapType}プロバイダごとのサンプル
Section titled “プロバイダごとのサンプル”各プロバイダのサンプルは以下のページで解説しています。
- Google Mapsで地図スタイルを変える例
- MapboxのLocationプラグインで現在位置を表示する例
- HERE Maps の例
- ArcGIS の例
- MapLibre の例
制限と考慮事項
Section titled “制限と考慮事項”- プラットフォーム依存性: ネイティブ API の使用は、特定の地図SDKにコードを結び付けます
- メンテナンスオーバーヘッド: 地図SDK API の変更により、ネイティブ API の使用を更新する必要があります
- テストの複雑性: 地図SDK固有のコードパスをカバーするため、より複雑なテストが必要
- 機能パリティ: すべての地図SDKが同等のネイティブ機能をサポートしているわけではありません
- MapConductor 統合: ネイティブの変更は MapConductor の状態管理と統合されない可能性があります
MapViewHolderInterface は高度なユースケースのための強力なエスケープハッチですが、MapConductor の統一 API アプローチの利点を維持するために慎重に使用する必要があります。