私は以前はJavaScriptを使ったことがありません。私は、ユーザーの好みごとに異なるレイヤーを隠すことができるマップを作成しようとしています。私はhttps://www.mapbox.com/mapbox-gl-js/example/toggle-layers/に正確なコードを示すマップボックス上の参考例を見つけました。マップボックスjs;表示と非表示を切り替える
私の問題は、大きさの異なる多数のポイントレイヤーがあるため、いくつかのレイヤーを作成し、それぞれのポイントの外観がその特定の大きさを反映するように、望ましい属性に基づいてフィルタリングすることでした。しかし、私はこれらの点を何年も整理しておきたいので、私は層をグループ化しました。したがって、私のレイヤー名はすべてこのようになります(2006_mag2,2006_mag8,2010_mag3 ...)。
ただし、hide/showオプションを使用すると、年に基づいてレイヤーを表示できます。だから私はsqlで使用するような何らかの演算子(つまり、 '2006%'やLIKE演算子)を実行できると思っていました。いくつかの投稿を見ると、多くの人がJavaScriptで '*'を使用していますか? は、これはそれが前に個別にそれぞれの層のためにどのように見えるかです:
var toggleableLayerIds = [ '2006_mag2', '2010_mag3' ];
for (var i = 0; i < toggleableLayerIds.length; i++) {
var id = toggleableLayerIds[i];
}
、これは一緒にグループに層数をしようで私のしくじった試みです:
どれ指導君たちを提供することができます大いに感謝されます。
クイックアンサーに感謝します。ループは理にかなっています。私はちょうど毎年のスクリーンの右側にボタンがあることを望んでいる。誰かがボタンをクリックすると、その年に関連するすべてのポイントが消えます。私は自分が何をしているのかわからないと言ってもそれほど控えめではないと思います。驚いたことに、驚いたことに、私は仕事に就くことができないjsfiddleです。助言がありますか? https://jsfiddle.net/albinoham/x1qvuzg9/2/#&togetherjs=UfvI3hbGSB – user6784706
jsFiddleを編集しました。動作させるためにmapBoxトークンを提供する必要があります[https://jsfiddle.net/x1qvuzg9/4/ ](https://jsfiddle.net/x1qvuzg9/4/)mapBox ressourceファイルを正しくインポートしない限り、マップはjsfiddleに表示されません。私はあなたのローカルhtmlファイルにのみjavascriptをコピー/貼り付けすることをお勧めします。 –
あなたは絶対星です。時間を割いていただきありがとうございます。 – user6784706