在mapbox-gl中按部分字符串设置过滤器

时间:2017-06-03 15:25:09

标签: javascript json mapbox-gl-js

我的第一个问题是,提前抱歉任何错误......

我正在为自己的乐趣开发一个地图集网络,其中包含我自己在地图中拍摄的照片。信息加载到JSON文件中,具有以下结构:

function damagec() {
    var a = 500;
    var b = a/20;
    document.getElementById('resultl').innerHTML = b;
    document.getElementById('resultl').style.color = 'green';
    document.getElementById('resultlc').innerHTML = b;
    document.getElementById('resultlc').style.color = 'green';
}
     

}

我为每个地图使用不同的JSON文件,这些文件以这种方式加载:

<div class="wall">
    <p id="wallvalue">1000</p>
</div>
<button onclick="damagec()"><b>FIGHT</b></button>

后来我使用函数按年过滤元素:

"type": "Feature",
"geometry": {
  "type": "Point",
  "coordinates": [-8.5375900268555,42.881175994873]
},
"properties": {
  "title": "Graffiti",
  "description": "",
  "image": {
      "imageSize": [1024, 768], "imageLandscape": 1, "imageUrl": "imgs/gsa_2016_files/20160805173018_OLY_PEP3_P8052307.jpg" },
  "icon": {
    "iconSize": [96, 73],
    "iconUrl": "imgs/gsa_2016_files/thumb_20160805173018_OLY_PEP3_P8052307.jpg"
  },
  "extended_info": {
    "tags": "graffitis,nomada",
    "place": "europa,españa,galicia,santiago de compostela"
  },
  "time": "2016:08:05 17:30:18",
  "year": 2016,
  "month": 8,
  "day": 5
}

但我想通过部分标签或放置内容进行更多过滤。例如,任何拥有&#34;标记&#34;其中包含&#34; nomada&#34;或任何&#34;地点&#34;与&#34;欧洲&#34;。虽然我对mapbox-gl甚至js的了解都很有限,但我试图这样做但却失败了。可以这样做吗?我应该改变我的JSON结构吗?有人能指点我帮忙吗?

TIA!

1 个答案:

答案 0 :(得分:0)

Mapbox-GL-JS不支持此功能。正在跟踪此问题:https://github.com/mapbox/mapbox-gl-js/issues/4698