如何解决 mapbox gl js 上的 addSource 错误
how to solve addSource error on mapbox gl js
我正在使用 mapbox gl js 库从本地文件加载本地 geojson 文件。当我尝试在地图上加载它时出现错误 "addSource not defined".
showgeojson()
{
var data='./assets/nyc_speed-3.geojson';
this.map.on('load', function () {
this.map.addSource('scmpd-precinct-polygons', {
type: 'geojson',
data: './assets/nyc_Speed_3.geojson'
});
this.map.addLayer({
'id': 'scmpd-precinct-polygons',
'type': 'fill',
'source': 'scmpd-precinct-polygons',
'layout': {},
'paint': {
'fill-color': '#088',
'fill-opacity': 0.8
}
});
});
}
您的问题是 JavaScript 在函数中重新定义 "this" 的方式。
最简单的解决方案是使用箭头函数代替常规函数:
this.map.on('load', () => {
我正在使用 mapbox gl js 库从本地文件加载本地 geojson 文件。当我尝试在地图上加载它时出现错误 "addSource not defined".
showgeojson()
{
var data='./assets/nyc_speed-3.geojson';
this.map.on('load', function () {
this.map.addSource('scmpd-precinct-polygons', {
type: 'geojson',
data: './assets/nyc_Speed_3.geojson'
});
this.map.addLayer({
'id': 'scmpd-precinct-polygons',
'type': 'fill',
'source': 'scmpd-precinct-polygons',
'layout': {},
'paint': {
'fill-color': '#088',
'fill-opacity': 0.8
}
});
});
}
您的问题是 JavaScript 在函数中重新定义 "this" 的方式。
最简单的解决方案是使用箭头函数代替常规函数:
this.map.on('load', () => {