当组件为 re-initialised 时,AGM 是否保留 Google 地图的 session?

Does AGM preserve Google Map's session when component is re-initialised?

我们目前正在开发 map-load 大型门户网站以在 Angular 进行销售。我们决定使用 AGM library,它为 Angular 和 TypeScript 提供了很好的支持。

我们在每个搜索结果页面 上显示地图,当用户从搜索结果导航back-and-forth 到产品详情页面时,我们destroy/re-initialise MapComponent。我有点担心这是否不会触发额外的 Google 地图 requests/sessions,因为它是 re-initialised,但我不知道如何计算指标。不幸的是,由于我们应用程序的架构,我们无法轻易 hide/show 该组件。

所以问题是 session 在 AGM 中的表现如何?组件的每个 re-initialisation 是否都会创建一个新的付费请求?提前谢谢你。

与任何其他 angular 组件一样,当 agm-map 从组件树中删除时,它也会从 DOM 中删除。 google.maps.Map 对象被销毁,并在组件再次显示时重新创建。

不过,重新初始化并非完全从头开始。 google 地图脚本每个项目只加载一次(每次调用至少一次 AgmCoreModule.forRoot 应该 在任何正常项目中只调用一次)。因此,虽然 google.maps.Map object 被销毁并重新初始化,但脚本仍然存在。

您的最后位置和所有多边形等将不会被缓存,因为当创建或重新创建 agm-map 组件时,它会从头开始设置中心属性。

至于价格,google docs 似乎建议您 为每次重新创建地图付费。