問題タブ [mapbox-gl-js]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1079 参照

javascript - Mapbox GL JS でベクター レイヤーの機能を検索する方法

mapbox によってホストされているベクター レイヤー属性フィーチャを検索する検索バーを追加する必要があります。Mapbox GL JS API を使用しています。これは、Mapbox js/Leaflet を使用してかなり簡単に実行できることを知っています。Mapbox GL JS で同じことを行う方法について、私は完全に立ち往生しています。ベクター レイヤーのフィーチャ属性に対応する郵便番号を検索したい (住所や郵便番号をジオコーディングしたくないことに注意してください。Mapbox GL 用のジオコーダー プラグインがあることは承知しています。私が探しているものではありません)。次に、一致する検索エントリに基づいて、ベクターレイヤーからのさまざまな機能値で html 情報パネルを更新したいと考えています。

検索機能をMapboxが提供するベクターレイヤー機能と組み合わせる方法を知る必要があります(この質問は、古いMapbox JSライブラリではなく、特にMapbox GLに関連しています)。

0 投票する
1 に答える
203 参照

json - json スタイルの数値変数

「icon-rotate」属性に数値変数を設定する方法がわからないため、スタイル設定に行き詰まっています。

私はもう試した

しかし、何も機能しません常にエラーが発生しました

レイヤー[10].layout.icon-rotate: 数が予想され、文字列が見つかりました

0 投票する
1 に答える
1029 参照

ios - mapbox ios のマーカーの下にテキストを追加する

iOS アプリで Mapbox SDK を使用しています (Swift を使用)。次のように、すべてのマーカーの下にラベルを表示したい:

ここに画像の説明を入力

ドキュメントやstackoverflowのどこにもそれを達成する方法が見つかりませんでした。テキストをマーカー画像の一部にしようとしましたが、テキストはそのようにサイズ変更されず、マーカーが近くにあるとき (またはズームアウトしたとき) は混乱します。

どうすればそれを実現できるか知っている人はいますか?

0 投票する
0 に答える
2284 参照

mapbox - Mapbox Geocoder は、ニューヨーク市の住所の誤った場所を中心にしているようです

私はhttps://www.mapbox.com/mapbox-gl-js/example/mapbox-gl-geocoder/を使用しています

しかし、ニューヨーク市のアドレスを試してみると、地図の中心が間違った場所にあります。

地図が再配置されると、住所が地図の中心になると思います。

しかし、それは間違っていることがわかります。

たとえば、「1 Broadway, New York, NY」の場合、わかります (1 Broadway は、パンとズームなしでは表示できません)

NYC の住所に対して正しく機能する、より優れたジオコーダーの例はありますか?

ここに画像の説明を入力

しかし、正しいマップは次のようなものです。

ここに画像の説明を入力

他の場所でも活躍しそうです

モスコーニ センター SF (正解)

ここに画像の説明を入力

ホワイトハウス(正解)

ここに画像の説明を入力

0 投票する
1 に答える
386 参照

mapbox-gl - Mapbox-GL: ズーム スコープ コントロール

カスタム mapbox.gl マップのズーム範囲を制御して、ユーザーがズームアウトおよびズームインしたときに、ユーザーのカーソル/ポインターがどこにあるかに関係なく、常に同じ経度/緯度で開始および終了するようにするには、何をコーディングしますか?
現在、maxZoom と minZoom を設定していますが、ユーザーがズームアウトしてズームインすると、マップの開始点ではなく、カーソルがある場所に着陸します。

0 投票する
1 に答える
3207 参照

javascript - 複雑にネストされたオブジェクトをフォーマットする

以前に GIS フォーラム (Alt 下) に投稿したことがありますが、活動はほとんどないので、ここで運を試しています。これは、基本的に、js オブジェクト配列の問題でもあると思います。同様の質問が多数ありますが、対処しなければならないオブジェクト構造に対して機能する解決策を得ることができません。

注意事項はさておき。

問題:解析されたオブジェクト配列内にネストされた (未知の) 数のオブジェクトから返された情報を取得して、人間が判読できる方法で抽出、フォーマット、および表示できるようにします。例えば;

各「features.layer.id」とそれに関連付けられた「features.properties」が必要です。そのキーと値は不明で、レイヤー間で異なります (features.properties にあるオブジェクト)。これらの機能の位置は MapBox で一貫しているため、ここでの解決策は将来のユーザーに適用できるはずです。

現在のコード; コメントアウトされているのは、必要な値にアクセスして表示しようとする私の試みの散在です。「features」要素 ID は情報パネルです。それ以外の場合は、ネストされたオブジェクトが返されます (サンプルを参照)。

concattedjson は現在、最初のレイヤー タイトルの最初の文字でエラー ("unexpected token N") を生成していました。

2 つの「レイヤー」を含む JSON のサンプル

0 投票する
1 に答える
259 参照

mapbox-gl-js - 衛星タイル ソースが機能しない

https://www.mapbox.com/mapbox-gl-style-spec/#sources-raster

これにより、エラー メッセージのない黒いタイルが表示されます。理由がわかりません。

0 投票する
1 に答える
1566 参照

javascript - Mapbox.GL: カスタム マップボックス マップの特定の座標にスクロール ズーム インおよびズーム アウトします。

カスタム mapbox スタジオ マップを自分のサイトに埋め込み、minZoom と maxZoom の座標を設定して、特定のズーム レベルにのみズームアウトし、特定のズーム レベルにズームインするようにしました。しかし、ユーザーがズームインすると、マップはユーザーがマウスポインターを置いた場所に移動しますが、ユーザーがマウスポインターを置いた場所ではなく、開始点にズームバックしたいのです。
これは私が見つけた最も近い例ですが、物語は必要ありません。ユーザーに地図をスクロールしてもらいたい: https://www.mapbox.com/mapbox-gl-js/example/scroll-fly-に/

ユーザーが下にスクロールすると埋め込みマップが特定の座標セットにズームアウトし、ユーザーが上にスクロールすると埋め込みマップが特定の座標セットにズームインするようにするにはどうすればよいですか?

});

0 投票する
1 に答える
1293 参照

mapbox - Mapbox 'Light' マップ スタイルにマーカーを追加するにはどうすればよいですか?

mapbox-gl.js を使用し、geoJSON でマーカー レイヤーを追加する単純なアプリケーションを作成しました。これは、Mapbox の「Streets」スタイルを使用する場合、または自分のアカウントでストリート スタイルをカスタム スタイルとして複製する場合にうまく機能します。

ただし、「ライト」スタイルに基づくカスタム スタイルを使用したいのですが、これにはアイコンの表示に必要なものが含まれていないようです。

両方のスタイルを JSON としてダウンロードし、spriteプロパティを交換しましたが、違いはありません。

「ストリート」スタイルから始めて、自分の好みに合わせて調整してみましたが、整理するには多くの変更が必要です。

標準マーカーを描画できるようにするために、Mapbox Studio または JS でできることはありますか?

0 投票する
1 に答える
725 参照

mapbox-gl-js - mapbox-gl-js によって表示されるマーカーを制御する方法

たくさんの geojson ポイントを読み込んでいます。約 40 個のポイントをロードしていることがわかりますが、マップに表示されるポイントはランダムで、何らかの形でズーム レベルに関連しているように見えます。以下では、~40 の 2 つのポイントのみが表示されていることがわかります。

geojson のマーカー

mapbox-gl-js は何を表示するかを決定するためにどの基準を使用しますか?

どのポイントが表示されているかを制御する方法はありますか? (全部?属性によるものも?)