私のマップでは、背景に OpenStreetMap タイルがあり、その上に VectorLayer があります。ここで、VectorLayer をドロップダウン メニューからユーザーが変更できるようにします。どうすればこれを達成できますか?
これが私のHTMLドロップダウンメニューコードです:
<select id="line">
<option value="1a">Line 1A</option>
<option value="1b">Line 1B</option>
<option value="2a">Line 2A</option>
<option value="2b">Line 2B</option>
</select>
これが私のマップスクリプトです:
var map = new ol.Map({
target: 'map',
layers: [
new ol.layer.Tile({
source: new ol.source.OSM({
url: 'tiles/{z}/{x}/{y}.png',
crossOrigin: null,
})
}), linelayergroup
],
view: new ol.View({
center: ol.proj.fromLonLat([100.568, 14.353]),
zoom: 14,
minZoom: 14,
maxZoom: 19,
extent: [11187608.82, 1608083.02, 11203003.55, 1621297.19],
constrainResolution: true
})
});
そして、これが私の VectorLayer 1a スクリプトです。
var layer1a = new ol.layer.Vector({
source: source1a,
style: function(feature) {
allbusstyle.getText().setText(feature.get('name'));
return allbusstyle;
}
});
HTML ドロップダウン メニューでvar linelayergroup
変更できる VectorLayerGroup である必要があります。value
たとえば、ユーザーLine 1A
がドロップダウン メニューで選択すると、VectorLayer は default から layer に変更されlayer1a
、ユーザーが別の選択肢を選択すると、VectorLayer は からlayer1a
その選択に変更されます。
ご協力いただきありがとうございます。