Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/31.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
如何在Google maps事件中调用我的自定义函数,在angular 2中_Angular_Google Maps_Angular2 Template - Fatal编程技术网

如何在Google maps事件中调用我的自定义函数,在angular 2中

如何在Google maps事件中调用我的自定义函数,在angular 2中,angular,google-maps,angular2-template,Angular,Google Maps,Angular2 Template,我用的是Angular 2。使用基本的谷歌地图,一切正常,现在我想从 google.maps.event.addListener(map123,'click' ,(event)=> { let id=123; var lat=event.latLng.lat(); var lng=event.latLng.lng(); var marker = new google.maps.Marker({ position: new google.

我用的是Angular 2。使用基本的谷歌地图,一切正常,现在我想从

google.maps.event.addListener(map123,'click' ,(event)=>  {

    let id=123;


    var lat=event.latLng.lat();
    var lng=event.latLng.lng();


    var marker = new google.maps.Marker({
    position:  new google.maps.LatLng(parseFloat(lat),parseFloat(lng)),
    map: map123
  });
   this.serverinteraction(this.id_actual,this.lat_actual,this.lng_actual);
    });

 My custom function is in same typescript file:

serverinteraction(id , lat, lng)
        {

        }
错误:\ this.serverinteraction不是一个函数

如何在该事件中调用自定义函数。

这应该可以工作

var that = this;
google.maps.event.addListener(map123,'click' ,(event)=>  
{
    let id=123;

    var lat=event.latLng.lat();
    var lng=event.latLng.lng();
    var marker = new google.maps.Marker({
        position:  new google.maps.LatLng(parseFloat(lat),parseFloat(lng)),
        map: map123
   });

   that.serverinteraction(this.id_actual,this.lat_actual,this.lng_actual);
});
这应该行得通

var that = this;
google.maps.event.addListener(map123,'click' ,(event)=>  
{
    let id=123;

    var lat=event.latLng.lat();
    var lng=event.latLng.lng();
    var marker = new google.maps.Marker({
        position:  new google.maps.LatLng(parseFloat(lat),parseFloat(lng)),
        map: map123
   });

   that.serverinteraction(this.id_actual,this.lat_actual,this.lng_actual);
});

试试这个:
google.maps.event.addListener(map123,'click',(event)=>{…}.bind(this))我收到错误消息-->找不到名称“bind”。您是指静态成员“component.bind”吗。如何解决这个问题。你有代码片段/jsbin/任何我们可以检查代码的地方吗?试试这个:
google.maps.event.addListener(map123,'click',(event)=>{…}.bind(this))我收到错误消息-->找不到名称“bind”。您是指静态成员“component.bind”吗。如何解决这个问题。您是否有代码片段/jsbin/任何我们可以检查代码的地方?