gpt4 book ai didi

Angular 6 - 将 Bing map 添加到 Leaflet map

转载 作者:太空狗 更新时间:2023-10-29 18:22:42 26 4
gpt4 key购买 nike

我正在使用 leaflet-bing-layer 插件,以便使用 Leaflet 添加基于 Bing 的 map 。
因为我也在使用 OSM,所以我导入了 leafletleaflet-bing-layer。导入语句如下:

import * as L from 'leaflet';
import * as B from 'leaflet-bing-layer';

以及组件LeafletMapComponent中leaflet的使用:

constructor () {
this.baseMaps = {
OpenStreetMap: L.tileLayer ("https://{s}.tile.openstreetmap.fr/hot/{z}/{x}/{y}.png", {
attribution: '&copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a>, Tiles courtesy of <a href="https://hot.openstreetmap.org/" target="_blank">Humanitarian OpenStreetMap Team</a>'
}),
BingMap: B.tileLayer.bing(LeafletMapComponent.BING_KEY, {type: 'AerialWithLabels'})
};
}

不幸的是,ling BingMap: B.tileLayer.bing(... 得到一个错误:无法读取未定义的属性“bing”

我没有在 Angular 和 Typescript 中找到 Bing map 的任何工作示例,所以我猜这里缺少一些东西。

有没有想过我做错了什么?

最佳答案

您应该按如下方式导入leaflet-bing-layer:

import * as L from 'leaflet';
import 'leaflet-bing-layer';

然后,您可以按如下方式添加 Bing 磁贴图层。

L.tileLayer.bing(LeafletMapComponent.BING_KEY).addTo(map);

这会抛出一个类型错误

property 'bing' does not exist on type 'tileLayer' 

但您可以通过将 L 定义为自定义类型来克服此错误:

(L as any).tileLayer.bing(LeafletMapComponent.BING_KEY).addTo(map);

注意:我不会在构造函数上创建 map 。我会选择一个生命周期钩子(Hook)方法,这样我就可以确定 map 是在 View 加载后创建的。

关于Angular 6 - 将 Bing map 添加到 Leaflet map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52178962/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com