JavaScript用のMapboxスキームURLパーサーおよびMVT設定トランスレータです。
- mapbox://スキームURLをHTTP URLに変換
- Mapboxスタイル設定ファイルの解析
- すべてのリソースURL(タイル、フォント、アイコン、スプライト)の抽出と変換
- 完全に解決されたHTTP URLを含むMVT設定の生成
- 各種Mapboxリソースタイプのサポート:
- スタイル:
mapbox://styles/{username}/{style_id} - タイル:
mapbox://tiles/{tileset_id}/{z}/{x}/{y} - 複合タイル:
mapbox://mapbox.mapbox-streets-v8,mapbox.mapbox-terrain-v2 - フォント:
mapbox://fonts/{username}/{font_stack}/{range} - スプライト:
mapbox://sprites/{username}/{style_id}
- スタイル:
npm install @c4h/beatbox<script src="https://unpkg.com/@c4h/beatbox/dist/beatbox.umd.js"></script>import { BeatBox } from '@c4h/beatbox';
// Mapboxアクセストークンで初期化
const beatbox = new BeatBox({
accessToken: 'your-mapbox-access-token'
});
// 単一のmapbox:// URLをHTTPに変換
const httpUrl = beatbox.toHttpUrl('mapbox://styles/mapbox/streets-v11');
console.log(httpUrl);
// → https://api.mapbox.com/styles/v1/mapbox/streets-v11?access_token=...
// 複合タイルセットURLの変換
const compositeUrl = beatbox.toHttpUrl('mapbox://mapbox.mapbox-streets-v8,mapbox.mapbox-terrain-v2');
console.log(compositeUrl);
// → https://api.mapbox.com/v4/mapbox.mapbox-streets-v8,mapbox.mapbox-terrain-v2.json?access_token=...
// 完全なスタイル設定を解析して変換
const styleUrl = 'mapbox://styles/moritoru/ck3xqi0hh1pob1cqpanp3jxxo';
const translatedStyle = await beatbox.translateStyle(styleUrl);
// すべてのmapbox:// URLがHTTP URLに変換されたスタイルJSONを返します
// スタイルからすべてのリソースURLを取得
const resources = await beatbox.getStyleResources(styleUrl);
console.log(resources);
// → {
// style: 'https://api.mapbox.com/styles/v1/...',
// tiles: ['https://api.mapbox.com/v4/...'],
// fonts: ['https://api.mapbox.com/fonts/v1/...'],
// sprites: ['https://api.mapbox.com/styles/v1/.../sprite']
// }MapboxのURL変換のためのメインクラスです。
accessToken(string): Mapboxアクセストークン(必須)apiUrl(string): カスタムMapbox API URL(デフォルト: 'https://api.mapbox.com')
toHttpUrl(mapboxUrl: string): string- 単一のmapbox:// URLをHTTP URLに変換しますtranslateStyle(styleUrl: string): Promise<object>- 完全なスタイル設定を取得して変換しますgetStyleResources(styleUrl: string): Promise<ResourceList>- スタイルからすべてのリソースURLを抽出しますparseMapboxUrl(url: string): MapboxUrlInfo- mapbox:// URLをコンポーネントに解析します
MIT License
貢献は歓迎します!お気軽にプルリクエストを送信してください。