我正在尝试使用mapbox-gl在StackBlitz上做一个例子。如何设置accessToken?
编辑器声明“无法分配给'accessToken',因为它是常量或只读属性”。
我已经尝试了另一个问题的可能解决方案:
Mapbox-gl typing won't allow accessToken assignment
import { Component, ViewChild, ElementRef } from '@angular/core';
import * as mapboxgl from 'mapbox-gl';
@Component({
selector: 'my-app',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
@ViewChild('map') mapElement: ElementRef;
map: mapboxgl.Map;
ngOnInit() {
mapboxgl.accessToken = '<token>';
this.map = new mapboxgl.Map({
container: this.mapElement.nativeElement,
style: 'mapbox://styles/mapbox/streets-v11',
center: [-77.04, 38.907],
zoom: 11.15
});
}
}
完整的代码示例:
https://stackblitz.com/edit/angular-9djiw2
最佳答案
最终通过替换解决了这个问题
import * as mapboxgl from 'mapbox-gl';
和
const mapboxgl = require('mapbox-gl');
我不知道为什么这样做(尽管有红色下划线)。它可能特定于StackBlitz。我将在此处保留示例,但将禁用Mapbox中的键。