首页 > 解决方案 > 格式化 Angular 材质扩展 Google Places 自动完成美国地址

问题描述

我只需要在 Angular 11 中自动完成一个地址,所以我偶然发现了 Angular Material Extension google places 自动完成模块。它几乎完成了我需要它做的事情,除了它是用德语格式化的。

因此,而不是要求的形式:

Street name, NR (street number), PLZ (zip code), Locality (City). 

我希望表格显示和收集:

Street Number, Street name, City, State, Zip Code in that order. 

我可以从表格中获得正确的信息,使用:

onGermanAddressMapped($event: GermanAddress) {
    console.log($event)
}

只是它仍然在表单中显示不正确。

在此处输入图像描述

有没有办法调整组件?

还是我需要以另一种方式处理整个事情?

对象中的displayAddressin 以正确的格式显示为字符串。

代码:

在模板中:

<mat-search-google-maps-autocomplete country="us"  formControlName="address" required (onAddressChange)="AddressChange($event)" (onGermanAddressMapped)="onGermanAddressMapped($event)">

在 component.ts 中: import { GermanAddress, Appearance, Location } from '@angular-material- extensions/google-maps-autocomplete';

    onGermanAddressMapped($event: GermanAddress) {
    const addressAsString = $event.displayAddress?.toString
    const latitude = $event.geoLocation?.latitude;
    const longitude = $event.geoLocation?.longitude;
    console.log($event);
    console.log(addressAsString, latitude, longitude)
    return $event
  }

标签: angularangular-materialangular11

解决方案


推荐阅读