JS谷歌地图修改来自另一个类的监听器

时间:2017-04-02 01:18:59

标签: javascript angular typescript ionic2

我正在将我的谷歌地图从离子本地转换为JS。我正在尝试从另一个类修改我的地图的点击监听器。但是,我正在解决财产问题。

this.maps.init(); //Initialize map

this.maps.map.addListener('click', function(pos){

   this.maps.addMarker(pos.latLng.lat(), pos.latLng.lng());//error here

});

我收到了错误

Cannot read property 'addMarker' of undefined

请帮助

1 个答案:

答案 0 :(得分:1)

你只需要使用这样的箭头函数:

this.maps.init(); //Initialize map

this.maps.map.addListener('click', (pos) => {

   this.maps.addMarker(pos.latLng.lat(), pos.latLng.lng());//error here

});

使用arrow functions属性不会被覆盖,仍会引用组件实例。