2017-03-03 46 views
0

在休耕代码Getaddress函数将调用dragend事件发生拖动标记不刷新地址

Getaddress(LastLat, LastLng , marker,source){ 
     this.http.get('https://maps.googleapis.com/maps/api/geocode/json?latlng='+LastLat+ ','+LastLng) 
       .map(res => res.json()) 
       .subscribe(data => { 
       console.log(this.data); //json output 
       this.data = data.results[0].formatted_address; 
       console.log(this.data); //Right address 
       this.Origin=" "; 
       this.Origin=this.data; 
       } 
}); 

和HTML:

<ion-item> <ion-label >Origin</ion-label> <ion-input type="text" value={{Origin}}></ion-input> </ion-item> 

当标记dragend右侧地址将在控制台日志中看到。但在input item它只显示制造商的第一名,如果我点击input item它将改变标记提到的最后地址或位置。我将input item更改为标签,但不起作用。

更新1个dragend事件:

lastLatLng(marker,source){ 
     google.maps.event.addListener(marker, 'dragend',() =>{ 
     this.LastLat= marker.position.lat(); 
     this.LastLng= marker.position.lng(); 
     this.Getaddress(this.LastLat,this.LastLng, marker,source);  
    }); 
    } 
+0

更新答案..希望工程:) –

回答

1

你需要绑定值的变量。您的代码正在设置value属性。

尝试:

<ion-item> <ion-label >Origin</ion-label> <ion-input type="text" [value]="Origin"></ion-input> </ion-item> 

检查角模板语法property binding

UPDATE:

创建一个回调函数:

setOriginAddress(data:any){ 
    this.data = data.results[0].formatted_address; 
       console.log(this.data); //Right address 
       this.Origin=" "; 
       this.Origin=this.data; 
} 

//没有设置创建的dragEvent类似的回调this.Origin。

lastLatLng(marker,source){ 
     google.maps.event.addListener(marker, 'dragend',() =>{ 
     this.LastLat= marker.position.lat(); 
     this.LastLng= marker.position.lng(); 
     this.Getaddress(this.LastLat,this.LastLng, marker,source,this.setOriginAddress.bind(this));  
    }); 
    } 

的getAddress

Getaddress(LastLat, LastLng , marker,source,callbackFn){ 
     this.http.get('https://maps.googleapis.com/maps/api/geocode/json?latlng='+LastLat+ ','+LastLng) 
       .map(res => res.json()) 
       .subscribe(callbackFn); 
+0

TNX,但还是一样。有趣的是,我在一个页面中添加了2个标记,第二个标记正在下降,但是第一个没有,如果我卸下第二个标记,它将不会改变。 – RSA

+0

您可以添加dragend事件的完整功能吗? –

+0

Lastlatlng方法被添加到主要问题。 – RSA