我在reactjs中使用
mapboxgl
库。
我的地图位于选项卡内。当我在选项卡之间切换时出现此错误。
componentDidMount() {
mapboxgl.accessToken = '*****';
mapboxgl.setRTLTextPlugin(
'https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-rtl-text/v0.2.3/mapbox-gl-rtl-text.js',
null,
true // Lazy load the plugin
);
}
但是我收到了这个错误:
Uncaught Error: setRTLTextPlugin cannot be called multiple times.
这里有一个解决方案,您可以检查以简化您的搜索,这是您必须做的
if (mapboxgl.getRTLTextPluginStatus() === 'unavailable') {
mapboxgl.setRTLTextPlugin(
'https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-rtl-text/v0.2.3/mapbox-gl-rtl-text.js',
(): void => {},
true // Lazy load the plugin only when text is in arabic
)
}
解决方案:
if (mapboxgl.getRTLTextPluginStatus() !== 'loaded') {mapboxgl.setRTLTextPlugin('...') }
这个问题可以用这段代码解决:
if (!window.mapboxRTLTextPluginSet) {
mapboxgl.setRTLTextPlugin('../../assets/mapbox/mapbox-gl-rtl-text.js');
window.mapboxRTLTextPluginSet = true; }