Javascript 如何在Angular.io中使用/实现传单Bing层?
正在尝试使用Bing地图提供程序构建用于组件的传单服务。可以使它在javascript中工作而不会出现问题。问题是在TypeScript中,无法为对象定义新属性。选“任何”都不要剪 我使用的javascript扩展如下: 组件代码的相关部分如下(javascript版本不使用该服务,只包含脚本): 主要问题是无法添加新属性。我试图定义一个扩展L.TileLayer的接口,但它不起作用:Javascript 如何在Angular.io中使用/实现传单Bing层?,javascript,angular,typescript,leaflet,Javascript,Angular,Typescript,Leaflet,正在尝试使用Bing地图提供程序构建用于组件的传单服务。可以使它在javascript中工作而不会出现问题。问题是在TypeScript中,无法为对象定义新属性。选“任何”都不要剪 我使用的javascript扩展如下: 组件代码的相关部分如下(javascript版本不使用该服务,只包含脚本): 主要问题是无法添加新属性。我试图定义一个扩展L.TileLayer的接口,但它不起作用: interface IBing extends L.TileLayer { Bing:Functio
interface IBing extends L.TileLayer {
Bing:Function;
}
是否需要直接修改传单的类型文件(.d.ts)?或者对于这种情况,我是否应该将.js脚本导入Angular/Typescript(我已经让它像那样工作了,但它看起来像一个丑陋的解决方法)
请注意,我不喜欢使用其他人的端口,例如:
谢谢大家! 您可以通过将其添加到项目的打字中来增加传单类型。d.ts:
import { tileLayer } from 'leaflet';
declare module 'leaflet' {
namespace tileLayer {
interface BingOptions extends TileLayerOptions {
bingMapsKey?: string;
imagerySet?: 'Aerial'|'AerialWithLabels'|'AerialWithLabelsOnDemand'|'CanvasDark'|'CanvasLight'|'CanvasGray'|'Road'|
'RoadOnDemand'|'OrdnanceSurvey';
culture?: string;
style?: string;
}
export function bing(options: string|BingOptions): TileLayer;
}
}
import { tileLayer } from 'leaflet';
declare module 'leaflet' {
namespace tileLayer {
interface BingOptions extends TileLayerOptions {
bingMapsKey?: string;
imagerySet?: 'Aerial'|'AerialWithLabels'|'AerialWithLabelsOnDemand'|'CanvasDark'|'CanvasLight'|'CanvasGray'|'Road'|
'RoadOnDemand'|'OrdnanceSurvey';
culture?: string;
style?: string;
}
export function bing(options: string|BingOptions): TileLayer;
}
}