【发布时间】:2019-06-02 16:51:32
【问题描述】:
我正在尝试在 Angular 6 中使用 Google 地图自动完成功能。 我在模式中有一个输入文本。 代码如下:
<input id="searchTextField" type="text" google-place (onSelect)="autoMaps()" size="50" placeholder="Enter a location" autocomplete="on" runat="server" />
autocompleteFn() {
const input = window.HTMLInputElement(document.getElementById('searchTextField'));
const autocomplete = new google.maps.places.Autocomplete(input);
console.log(el);
google.maps.event.addListener(autocomplete, 'place_changed', function () {
const placee = autocomplete.getPlace();
console.log(placee.name);
console.log(placee.geometry.location.lat());
console.log(placee.geometry.location.lng());
let address = '';
if (placee.address_components) {
address = [
(placee.address_components[0] && placee.address_components[0].short_name || ''),
(placee.address_components[1] && placee.address_components[1].short_name || ''),
(placee.address_components[2] && placee.address_components[2].short_name || '')
].join(' ');
}
console.log(address);
});
}
运行它并打开模式时,我收到此错误:
InvalidValueError: 不是 HTMLInputElement 的实例
【问题讨论】:
标签: angular typescript google-maps autocomplete