オープンソース統一地図SDK

地図コードは、一度書けばいい。
プロバイダは後から選ぶ。

MapConductor は、主要な地図SDK を単一のAPIで扱う統一地図SDKです。15のプロバイダに対応し、いまも増え続けています。差し替えてもアプリケーションのロジックは書き換えません。

Apache-2.0 / Android・iOS・React 提供中
PROVIDERS
15
PLATFORMS
3+
LICENSE
OSS
MARKERS
1000s
SDK ファミリー
増えていくプラットフォーム、変わらないAPI設計

各SDKは同じ概念とAPI名を共有します。プラットフォームが増えても、覚え直すのは足回りだけです。

Available
Android
Jetpack Compose

Android 向けの宣言的な MapView。Google Maps・MapLibre・Mapbox・HERE・ArcGIS・MapTiler・TomTom・Longdo・Mappls・Open Mobile Maps の10プロバイダに対応します。

Available
iOS
SwiftUI

iOS 向けの宣言的な MapView。Google Maps・MapLibre・Mapbox・HERE・ArcGIS・MapTiler・TomTom・Longdo・Apple MapKit・Mappls・Open Mobile Maps の11プロバイダに対応します。

Available
React
TypeScript · Web

React 向けの宣言的な MapView。Google Maps・MapLibre・Mapbox・HERE・ArcGIS・MapTiler・TomTom・Longdo・Apple MapKit・Leaflet・OpenLayers・Azure Maps・Cesium・Mappls の14プロバイダに対応します。

対応プロバイダ

同じアプリコードのまま、設定でプロバイダを切り替えられます。対応先はプラットフォームごとに拡張中で、契約や料金体系が変わってもコードを追随させる必要はありません。

Provider
Android
iOS
React
Google Maps (2D/3D)
●
●
●
MapLibre
●
●
●
Mapbox
●
●
●
HERE
●
●
●
ArcGIS (2D/3D)
●
●
●
MapTiler
●
●
●
TomTom
●
●
●
Longdo
●
●
●
Apple MapKit
—
●
●
Leaflet
—
—
●
OpenLayers
—
—
●
Azure Maps
—
—
●
Cesium
—
—
●
Mappls
●
●
●
Open Mobile Maps
●
●
—
●対応
—未対応
主な機能
01

マルチSDK対応

単一のコードベースから Google Maps、Mapbox、HERE、ArcGIS を操作できます。

02

統一地図API

マーカー、シェイプ、カメラ操作、イベントを共通のモデルで扱います。

03

ロジックの再利用

アプリケーションロジックを書き直さずに、地図プロバイダを変更できます。

04

高パフォーマンスレンダリング

組み込みのクラスタリングと差分更新で、数千個のマーカーを滑らかに描画します。

05

モダンUIに準拠

Jetpack Compose と SwiftUI の宣言的なワークフローを前提に設計しています。

06

オープンソース

Apache-2.0 で公開。実装を確認し、必要なら自分で拡張できます。

アーキテクチャ

アプリは統一レイヤーにのみ依存します。各プロバイダの差異はアダプタが吸収するため、切り替えの影響範囲は設定に閉じます。

アプリケーション層

Compose / SwiftUI / React

MapConductor 統一API

MapView · Marker · Camera · Events

プロバイダアダプタ

Google Maps · Mapbox · HERE · ArcGIS
動作デモ

同じ実装のまま、プロバイダを差し替えて動かした例です。

Android · 大量マーカーの描画
開発者コミュニティ

Discord で開発の進捗、リリース情報、登壇予定を公開しています。設計への意見や不具合の報告も歓迎です。