我正在使用角度为2的谷歌地图应用程序,现在我早些时候在vanilla javascript中做了这个。但是在那里我使用库作为RichMarkers和infoBox,现在我的问题是,是否可以在不使用输入文件的情况下包含这些(因为还没有)我尝试了definetlyTyped的infoBubble,但是它不匹配angular2-google-maps所以它会让我错误。
有没有人知道如何在没有输入文件的情况下包含库?
这是我的组件代码:
import {Component, Directive} from '@angular/core';
import {GoogleMapsAPIWrapper} from 'angular2-google-maps/core';
declare var fontawesome:any;
declare var RichMarker:any;
declare var RichMarkerPosition:any;
declare var google:any;
@Component({
selector: 'poly-layer',
template: '<div></div>'
})
export class PolyLayer {
constructor(private _wrapper: GoogleMapsAPIWrapper) {
this._wrapper.getMap().then((map) => {
var myLatLng = new google.maps.LatLng(-25.363882, 131.044922);
var marker_html = '<div id="test"><div class="rich-marker"><span class="number-id">'+ 'number' + '</span></div></div>';
var marker = new RichMarker({
position: myLatLng,
map: map,
flat: true,
anchor: RichMarkerPosition.MIDDLE,
content: marker_html
});
marker.setMap(map);
});
}
}
在富标记索引中未定义google:RichMarker.prototype = new google.maps.OverlayView();
我该如何定义?
这是PLUNKER
答案 0 :(得分:2)
您可以使用declare foo;
告诉TS编译器它可以安全地假设foo
存在,并且如果您的代码引用foo
则不会产生错误。
答案 1 :(得分:0)
如果您使用打字稿,只需使用任何。
constructor(restService: RestService, $state: any, FileSaver: any) {
this.restService = restService;
this.$state = $state;
this.FileSaver = FileSaver;
对于restService,我使用的是一种类型,但对于$ state,我不确定它是什么,我只是使用了它 angular-file-saver也没有输入,所以我也使用了任何一种。