ドキュメント / セットアップ / React / Mappls

Mappls セットアップ

Mappls(MapmyIndia)の Web SDK を MapConductor から使う手順です。web では 1 本の API キーを view state に渡します。

PACKAGE
@mapconductor/react-for-mappls
API KEY
必要
VIEW
MapplsMapView2D
TIME
10 分
ほかのプラットフォームAndroidiOS

前提

Node.js と React 18 以上のプロジェクト
Mappls(MapmyIndia)のアカウントと API キー
STEP 01

API キーを取得する

Mappls の開発者コンソールで Web 向けの API キーを発行します。ネイティブ側と違い、web は設定ファイルではなく 1 本のキーで動きます。

STEP 02

パッケージを入れる

Mappls の web SDK は依存として同梱されます。

shellShell
npm install @mapconductor/react-for-mappls @mapconductor/js-sdk-core @mapconductor/js-sdk-react
STEP 03

キーを view state に渡す

キーは useMapplsViewState に渡します。実値はソース管理に入れず、使っているビルドツールの環境変数の仕組みで読み込んでください。

動作確認

ここまで動けば完了

デリーを中心に地図を出します。タイルが読み込まれれば完了です。

import {
  MapplsDesign,
  MapplsMapView2D,
  useMapplsViewState,
} from '@mapconductor/react-for-mappls';
import { createGeoPoint, createMapCameraPosition } from '@mapconductor/js-sdk-core';

// Your own key. Read it from your environment however your build tool does
// it, and keep it out of source control.
const MAPPLS_API_KEY = '…';

const DELHI = createGeoPoint({ latitude: 28.6139, longitude: 77.2090 });

export default function App() {
  const state = useMapplsViewState({
    apiKey: MAPPLS_API_KEY,
    mapDesignType: MapplsDesign.Default,
    cameraPosition: createMapCameraPosition({ position: DELHI, zoom: 11 }),
  });

  return (
    <div style={{ width: '100vw', height: '100vh' }}>
      <MapplsMapView2D state={state} />
    </div>
  );
}

地図デザイン

Notes
Default
契約に関係なく使える既定のスタイル
StandardDay
標準の昼スタイル
StandardNight / GreyDay
追加料金の有料オプション。契約していないと SDK が弾く

うまくいかないとき

地図が真っ白で、タイルが 1 枚も来ない

  • 資格情報が地図生成より前に設定されているか確認します。
  • Mappls のコンソールでキーが有効か、利用枠を超えていないか確認します。
  • 端末がネットワークに出られるか確認します。

スタイルを変えると style not found になる

  • StandardNight と GreyDay は追加料金の有料オプションです。契約していない場合は Default か StandardDay を使ってください。

SDK のスクリプトが 401 で読み込めない

  • Mappls の web SDK は sdk.mappls.com からキー付きで読み込まれます。401 が返る場合、そのキーに web SDK の利用権限が付いていないか、失効しています。

次に

マーカー・ポリライン・ポリゴン・円・グラウンドイメージ・ラスターレイヤー・InfoBubble は共通 API のまま使えます。