如何从 Mapbox GL 中的 geojson 图层添加文本字段?
How do I add a text-field from a geojson layer in Mapbox GL?
我在文件中有一些 JSON
:
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [-87.5048, 33.2943],
"properties": {
"museum_count": 8465,
"sw": [27.9802015625,-98.5048],
"ne": [38.6083984375,-76.5048]
}
}
}
}
}
我正在将其加载到地图中并尝试使用 museum_count
:
向圆圈添加标签
mapboxgl.accessToken = 'pk.eyJ1IjoibXl0b3Vyc2FwcCIsImEiOiJDRUVsckI0In0.-eKUxQLVBgTtyoyhxyFyYQ';
var map = new mapboxgl.Map({
container: 'map',
style: 'mapbox://styles/mapbox/streets-v9',
center: [0,0],
zoom: 4
});
map.addControl(new mapboxgl.Navigation());
map.on('load', function() {
map.addSource('clusters', {
type: "geojson",
data: '/en/map.json'
});
map.addLayer({
"id": "clusters",
"type": "circle",
"source": "clusters",
"paint": {
"circle-radius": 18,
"circle-color": "#3887be"
}
});
map.addLayer({
"id": "clusters-label",
"type": "symbol",
"source": "clusters",
"layout": {
"text-field": "{museum_count}",
"text-font": [
"DIN Offc Pro Medium",
"Arial Unicode MS Bold"
],
"text-size": 12
}
});
});
问题是 museum_count
似乎为空。它似乎没有从属性层获取数据。知道这里出了什么问题吗?
你好藤壶巴恩斯!
您的问题源于您使用的 GeoJSON。它不符合 GeoJSON 规范(我发现一处语法错误和一处结构错误)。我建议使用像 GeoJSONLint 这样的工具来诊断问题并防止将来出现类似问题。
我在文件中有一些 JSON
:
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [-87.5048, 33.2943],
"properties": {
"museum_count": 8465,
"sw": [27.9802015625,-98.5048],
"ne": [38.6083984375,-76.5048]
}
}
}
}
}
我正在将其加载到地图中并尝试使用 museum_count
:
mapboxgl.accessToken = 'pk.eyJ1IjoibXl0b3Vyc2FwcCIsImEiOiJDRUVsckI0In0.-eKUxQLVBgTtyoyhxyFyYQ';
var map = new mapboxgl.Map({
container: 'map',
style: 'mapbox://styles/mapbox/streets-v9',
center: [0,0],
zoom: 4
});
map.addControl(new mapboxgl.Navigation());
map.on('load', function() {
map.addSource('clusters', {
type: "geojson",
data: '/en/map.json'
});
map.addLayer({
"id": "clusters",
"type": "circle",
"source": "clusters",
"paint": {
"circle-radius": 18,
"circle-color": "#3887be"
}
});
map.addLayer({
"id": "clusters-label",
"type": "symbol",
"source": "clusters",
"layout": {
"text-field": "{museum_count}",
"text-font": [
"DIN Offc Pro Medium",
"Arial Unicode MS Bold"
],
"text-size": 12
}
});
});
问题是 museum_count
似乎为空。它似乎没有从属性层获取数据。知道这里出了什么问题吗?
你好藤壶巴恩斯!
您的问题源于您使用的 GeoJSON。它不符合 GeoJSON 规范(我发现一处语法错误和一处结构错误)。我建议使用像 GeoJSONLint 这样的工具来诊断问题并防止将来出现类似问题。