这与Google地理编码有关
@agm/core
要求在您的服务中构造google.maps.Geocoder
的实例?您必须注入一个MapsAPILoader
实例,并在幕后完成一些魔术之后,使用其负载承诺来延迟调用google.maps.Geocoder()
。
课程
import { MapsAPILoader } from '@agm/core'
export class GeocodingService
{
private geo : any;
constructor(private mapLoader: MapsAPILoader) {}
..
}
版本a)
constructor(private mapLoader: MapsAPILoader)
{
this.mapLoader.load().then
{
this.geo = new google.maps.Geocoder();
}
}
版本b)
constructor(private mapLoader: MapsAPILoader)
{
this.getgeo();
}
private getgeo()
{
this.mapLoader.load().then
{
this.geo = new google.maps.Geocoder();
}
}
版本a)不起作用
core.js:6014错误
错误:未捕获(未承诺): ReferenceError:未在新的GeocodingService(GeocodingService.ts:53)上定义google
版本b)有效
有什么区别?对我来说,a)和b)似乎是等效的?