【发布时间】:2018-07-29 08:34:54
【问题描述】:
我是新手,正在获得 Ionic 框架的经验。在使用 ionic 进行编码时,我遇到了下面给出的一个问题
离子页面/模板代码
<ion-item>
<ion-label floating>{{ addressLabel }}</ion-label>
<ion-input name="address" id="addressField" type="text" required [(ngModel)]="address" #userAddress></ion-input>
</ion-item>
<div #locationMap id="locationMap"></div>
映射组件代码以更新标记放置时的地址值
onMarkerDrop(event) {
let latcurr = event.latLng.lat();
let longcurr = event.latLng.lng();
this.initializeCurrent(latcurr, longcurr);
let latLng = {lat: event.latLng.lat(), lng: event.latLng.lng()};
let infoWindow = new google.maps.InfoWindow();
infoWindow.open(this.map, this.marker);
infoWindow.close();
}
initializeCurrent(latcurr, longcurr) {
this.currgeocoder = new google.maps.Geocoder();
if (latcurr != '' && longcurr != '') {
let myLatlng = new google.maps.LatLng(latcurr, longcurr);
this.currgeocoder.geocode({'location': myLatlng}, (results, status) => {
if (status == google.maps.GeocoderStatus.OK) {
this.address = results[0].formatted_address;
// From above I am getting new location address on marker drop but that new address is not getting reflected at address input box.
console.log(this.address);
setTimeout(() => {
this.userAddress.setFocus();
this.keyboard.close();
}, 500);
} else {
alert('Geocode was not successful for the following reason: ' + status);
}
});
}
}
我没有明白我做错了什么。请引导我通过正确的方式。谢谢。
【问题讨论】:
-
您的控制台是否收到任何错误?
-
嗨@DavidR 不,我在控制台中没有收到任何错误,当我将新地址记录到控制台时,新地址正在登录到控制台中。
标签: javascript angular google-maps typescript ionic-framework