Openlayers 如何突出开放层中的乒乓球位置?

Openlayers 如何突出开放层中的乒乓球位置?,openlayers,openstreetmap,Openlayers,Openstreetmap,我想强调一下ol中所有的乒乓球位置。标签是休闲=乒乓球,我知道有可能采用ol风格 请帮忙 编辑: 我有我的osm层通过立交桥API。我在地图上实现了它,但没有任何改变。我还是看不到我的乒乓球位置 var osm = new ol.layer.Tile({ source: new ol.source.OSM() }); var tables

我想强调一下ol中所有的乒乓球位置。标签是休闲=乒乓球,我知道有可能采用ol风格

请帮忙

编辑:

我有我的osm层通过立交桥API。我在地图上实现了它,但没有任何改变。我还是看不到我的乒乓球位置

var osm = new ol.layer.Tile({
          source: new ol.source.OSM()
});                                                                     
var tables = new ol.layer.Tile({                                    
           source:  new ol.source.XYZ ({ url: 'interpreter.osm', }) });   
var map = new ol.Map({
          controls: ol.control.defaults().extend([
          new ol.control.ScaleLine(),
          new ol.control.ZoomSlider()
    ]),
layers: [tables,osm],
loadTilesWhileAnimating: true,
view: new ol.View({
    center: ol.proj.fromLonLat([13.413215,52.521918]),
    zoom: 13,
    maxZoom : 18,
    minZoom: 2
  }),

target: 'mymap'

}))

基于此OpenLayers示例

大多数被标记为
sport=table\u network
的样式为绿色,
leisure=table\u network\u table
的样式为红色,但我看不到任何

var映射;
变量样式={
“运动”:{
“乒乓球”:新的ol风格({
笔划:新的ol风格笔划({
颜色:'黑色',
宽度:2
}),
填充:新的ol.style.fill({
颜色:“青柠”
}),
图片:新ol.style.Circle({
半径:8,
填充:新的ol.style.fill({
颜色:“青柠”
}),
笔划:新的ol风格笔划({
颜色:'黑色',
宽度:2
})
})
})
},
“休闲”:{
“乒乓球”:新的ol风格({
笔划:新的ol风格笔划({
颜色:'黑色',
宽度:2
}),
填充:新的ol.style.fill({
颜色:“红色”
}),
图片:新ol.style.Circle({
半径:8,
填充:新的ol.style.fill({
颜色:“红色”
}),
笔划:新的ol风格笔划({
颜色:'黑色',
宽度:2
})
})
})
}
};
var vectorSource=新的ol.source.Vector({
格式:新建ol.format.OSMXML(),
加载器:函数(范围、分辨率、投影){
变量EPSG4326范围=
ol.proj.transformExtent(范围,投影,'EPSG:4326');
var client=new XMLHttpRequest();
client.open('POST','https://overpass-api.de/api/interpreter');
client.addEventListener('load',function()){
var features=new ol.format.OSMXML().readFeatures(client.responseText{
featureProjection:map.getView().getProjection()
});
矢量源。添加特征(特征);
});
变量查询='(节点('+
EPSG4326区段[1]+','+EPSG4326区段[0]+','+
EPSG4326区段[3]+','+EPSG4326区段[2]+
“);rel(bn)->.foo;way(bn);node(w)->.foo;rel(bw););out meta;”;
client.send(查询);
},
策略:ol.loadingstrategy.bbox
});
var vector=新的ol.layer.vector({
来源:矢量源,
风格:功能(特征){
for(变量输入样式){
var值=feature.get(键);
如果(值!==未定义){
for(样式[key]中的var regexp){
if(新RegExp(RegExp).test(值)){
返回样式[key][regexp];
}
}
}
}
返回null;
}
});
var raster=新建ol.layer.Tile({
来源:new ol.source.OSM()
});
map=新ol.map({
图层:[光栅,矢量],
目标:document.getElementById('map'),
视图:新ol.view({
中心:Lonlat的其他项目([13.413215,52.521918]),
maxZoom:18,
minZoom:2,
缩放:15
})
});


搜索立交桥API示例。谢谢Scai。现在我有了var osm=newol.layer.Tile({source:new ol.source.osm()});var tables=new ol.layer.Tile({source:new ol.source.XYZ({url:'explorer.osm',})});var map=new ol.map({controls:ol.control.defaults().extend([new ol.control.ScaleLine(),new ol.control.ZoomSlider()]),层:[tables,osm],loadtiles whileanimating:true,视图:new ol.view({center:ol.proj.fromlonat([13.413215,52.521918]),缩放:13,最大缩放:18,最小缩放:2}),目标:'mymap'});谢谢你,迈克。我尝试从json中导入每一个乒乓球位置,但这对我来说并不适用。只是突出显示似乎是最好的