コンテンツにスキップ

MapViewHolderInterface 概要

MapViewHolderInterface は、MapConductor の統一 API でカバーされていない特定の地図SDK機能が必要な高度なユースケースのために、ネイティブ地図 SDK インスタンスへのアクセスを提供します。MapConductor は共通のインターフェースを提供しますが、すべてのネイティブ機能を完全にラップするわけではなく、MapViewHolderInterface がこのギャップを埋めます。

MapConductor は地図SDK間で統一された API を提供することを目指していますが、完全な機能パリティは必ずしも可能ではありません。MapViewHolderInterface を使用すると、開発者は地図SDK固有の機能が必要な場合に、基盤となるネイティブ地図インスタンスにアクセスできます。

interface MapViewHolderInterface<ActualMapViewType, ActualMapType> {
val mapView: ActualMapViewType
val map: ActualMapType
}

各プロバイダのサンプルは以下のページで解説しています。

  1. プラットフォーム依存性: ネイティブ API の使用は、特定の地図SDKにコードを結び付けます
  2. メンテナンスオーバーヘッド: 地図SDK API の変更により、ネイティブ API の使用を更新する必要があります
  3. テストの複雑性: 地図SDK固有のコードパスをカバーするため、より複雑なテストが必要
  4. 機能パリティ: すべての地図SDKが同等のネイティブ機能をサポートしているわけではありません
  5. MapConductor 統合: ネイティブの変更は MapConductor の状態管理と統合されない可能性があります

MapViewHolderInterface は高度なユースケースのための強力なエスケープハッチですが、MapConductor の統一 API アプローチの利点を維持するために慎重に使用する必要があります。