使用angular4重叠MarkerSpiderfier

时间:2017-12-06 11:06:36

标签: angular leaflet

我正在尝试使用OverlappingMarkerSpiderfier和我的angular 4 app中的传单。 该模块在普通js和角度1中工作正常。

但是当我尝试使用角度4时,它会给我错误

ERROR ReferenceError: OverlappingMarkerSpiderfier is not defined

安装重叠标记蜘蛛侠

时解决了
npm i overlapping-marker-spiderfier

但后来又发出了另一个错误

Uncaught ReferenceError: google is not defined

我应该怎样做才能让它发挥作用

2 个答案:

答案 0 :(得分:1)

您可以使用OverlappingMarkerSpiderfier javascript file for leaflet来解决此问题。您必须以与Google地图的OverlappingMarkerSpiderfier的npm版本类似的方式更改文件。

添加

this['OverlappingMarkerSpiderfierLeafLet'] = (function() {
  if (this['L'] == null) {
    return;
}

在开头并将模块导出为

module.exports = this['OverlappingMarkerSpiderfierLeafLet'];

然后可以通过导入模块并使用它与html

中的相同来使用它

答案 1 :(得分:0)

首先,我假设你有一个脚本标签,你的google maps api包含在index.html中。

您是否安装了@ types / googlemaps?如果没有尝试使用

安装它
npm install --save @types/googlemaps 

然后将以下内容包含在您的组件中

import {} from '@types/googlemaps';

我希望这能解决你的问题。如果没有,那么尝试在您的组件中声明它

declare var google: any;
@Component({
    ...
})