問題タブ [mapbox]
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.
php - MapBox JavaScript API で使用する MySql から php で GeoJson を作成する
私がやろうとしていることは非常に簡単です。PHPコードを使用してMysqlテーブルからマーカーのデータを取得し、それをgeoJson( MapBox で使用)に変換し、そのgeoJsonをjavascriptに送信してから、それらのマーカーをマップに入力します。
これを解決するために必要なすべての情報が含まれているように見える次の 2 つのリンクを注意深く読んでいますが、何が欠けているのかわかりません。
ここでは、MapBox の geoJson からマーカーを設定する方法の例を見ることができます。
ここでは、MySql テーブルから geoJson を作成する方法を確認できます。
私のSQLテーブルは次のようになります。ここに作成コードといくつかのダミーデータがあります。
これが私のphpコードで、DBからデータを取得してGeoJsonを作成します。
これをテストするために、ここの「echo json_encode($marker)」がサンプル出力である場合。
これで、JavaScript コードは次のようになります。
最後に、実際にマップを表示する完全な HTML を示しますが、マーカーは表示しません。
それで、私は何が欠けていますか?私が気付いたことの 1 つは、geoJson の出力のジオメトリ配列に " が含まれているのに対し、MapBox の例で使用されているものには含まれていないことです。
誰でも私を助けることができますか?本当の複雑さはありません。データのフォーマットの問題か、GeoJson を JS に送信する方法に問題があると思います。
前もって感謝します!
この行に気付きました。
あるべきです;
その場合、結果は次のようになります。
leaflet - Leaflet / Mapbox のレンダリングの問題 (灰色の領域)
何らかの理由で、マップを移動して表示するまで、マップに大きな灰色の領域があります。
しかし、一見すると、一部が欠けています。私はこれまでウェブ上でこれをかなり見てきましたが、今までそれを修正する方法について疑問に思ったことはありませんでした.
これは、クラスターに MarkerClusterGroup を使用する単純な Mapbox マップです。
スクリーンショットとページへのリンクは次のとおりです。

だから私は疑問に思っていました、そのような振る舞いに対する簡単な既知の修正はありますか?
必要に応じてコード スニペットを追加できます。
ありがとう、良い一日を!
json - MBTiles のオンライン公開、.json ファイルまたは mb-util 抽出の問題
「map-div」内のブラウザーに .mbtiles を表示しようとしています。mb-utilを使用して、.mbtiles を .png タイル ファイルと .json ファイルに抽出しました。
これは私のサーバーの public_html がどのように見えるかです: 
タイル フォルダー: 
tile フォルダー内の metadata.json: 
メインの JavaScript ファイル java.js: 
java.js 内にはWax コネクタからのコードがあるため、.json を使用して Leaflet を操作できます。
この状態のマップは機能しません。
そこで、mbtiles ファイルを MapBox ホスティングにアップロードし、.json URL を取得しました。また、java.js の URL http://testit969.host22.com/tileserver/ Century.json が Mapbox で生成された .json URL に置き換えられると、マップが表示されます (ただし、対話機能は機能しません)。これは、少なくとも、.json ファイルに問題がなければ、コードでマップを表示するのに十分であることを示しています。
しかし、現在、マップはまったく表示されません。リーフレット マップ コンテナーは灰色でのみ表示されます。
どんな助けでも大歓迎です。
maps - Interactive map with a very large number of boundaries
I am trying to create an interactive map (where I can zoom in/out, show popup and info box) from Output Areas file: Output areas (E+W) 2011 Boundaries (Generalised, Clipped). This file contains the digital vector boundaries for the 181,408 output areas (OA) in England and Wales.
Shapefile is ~80MB, geojson is ~210MB and topojson ~39MB (simplified). There is nothing more I can do to lower to size of the topojson. I have been trying to create a leaflet map, but the file is still far too large to load in a browser. I have also followed this tutorial on creating map with my own tiles using TileMill, Leaflet and Wax. Unfortunately, the tiles generated for a reasonable zoom range are still > 100GB.
Does anyone know how I could load the boundaries and still be able to zoom in/out? Possibly using open-source technology?
json - Wax と Leaflet を使用してローカルの TileJSON をロードする際の SyntaxError
私はこのTileJSONファイルを持っています:
そして、私はこのコードでマップを作成しています:
ブラウザでスクリプトを実行すると、次のエラーが発生します。
私は TileJSON 仕様に従っており、ファイルにタイプミスやその他の問題は見られません。ブラウザーのキャッシュをクリアしたところ、正しいファイルを読み込んでいることが 100% 確信できました。キー/値の一部を削除して実験しましたが、問題は解決しません。
タイルをローカルにロードする方法についてアドバイスをいただければ幸いです。
ios - mapkit 注釈オブジェクトを mapbox 注釈オブジェクトに変換する
現在 Apple Maps で mapkit を使用しているアプリで、MapBox を使用してオフライン マップを実装しています。
以下に示すようなインターフェースを備えた名前、説明の場所など、関心のあるポイントを説明するオブジェクトがあります。
上記のオブジェクトは、次のように配列に追加されてから mapkit に追加されます。
ただし、MapBox マップビューを扱う場合、RMAnnotation オブジェクトが必要なため、上記のように MKAnnotation オブジェクトを追加することはできません。しかし、インターフェイスを
<RMAnnotation>ではなくread- に変更すると<MKAnnotation>、存在しないようです。
このような注釈を追加する方法に関するドキュメントには何も見つかりません。コールバックを処理し、どの注釈がタップされたかなどを知ることができるように、このように試してみるとよいでしょう!
javascript - Mapbox マーカー プロパティの更新: これが機能しないのはなぜですか?
Mapbox JS API を使用していて、変数にキャッシュされたマーカー プロパティが更新されないのに、キャッシュされていない対応するプロパティが更新されるのはなぜなのか疑問に思っています。
たとえば、これはマーカーのカスタムstateプロパティを期待どおりに更新します (別の場所で geoJSON オブジェクトで定義されています)。
しかし、これはしません:
後者で何が起こっているのかを理解するのを手伝ってくれる人はいますか? e.layer.feature.properties['state']毎回更新するのではなく、参照を変数にキャッシュできないのはなぜですか?