2017-03-03 42 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