Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/421.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在Angular.io中使用/实现传单Bing层?_Javascript_Angular_Typescript_Leaflet - Fatal编程技术网

Javascript 如何在Angular.io中使用/实现传单Bing层?

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

正在尝试使用Bing地图提供程序构建用于组件的传单服务。可以使它在javascript中工作而不会出现问题。问题是在TypeScript中,无法为对象定义新属性。选“任何”都不要剪

我使用的javascript扩展如下:

组件代码的相关部分如下(javascript版本不使用该服务,只包含脚本):

主要问题是无法添加新属性。我试图定义一个扩展L.TileLayer的接口,但它不起作用:

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;
  }
}