首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何减少角Web应用程序(agm-core)中的地图调用数?

如何减少角Web应用程序(agm-core)中的地图调用数?
EN

Stack Overflow用户
提问于 2020-05-29 06:08:44
回答 2查看 782关注 0票数 1

我们有一个简单的应用程序与角,有5页,每一个与谷歌地图。我们移动到角的原因是为了使每个用户会话的Map调用数减少到1次(在基于javascript的应用程序中,每个会话的调用数增加到20次!)

然而,我们的实现成本仍然与访问每个页面的次数一样多,我们想知道我们做错了什么。

下面是我们的设置:

  • 我们使用的是agm核心库(而不是直接使用JS脚本),我们将应用程序分成5个子组件(每个页面都有自己的组件),其中包含一个主组件: /home。映射是在与Home组件相同级别的单独组件中导入的
  • 我们还允许用户隐藏地图。为此,我们尝试了两件事: 1.)将地图高度/宽度设置为零。2.)把地图推开屏幕的边界,当用户想看的时候把它带回来。

我们的组件结构:

代码语言:javascript
复制
- map-div
- home
  - page1
  - page2
  - page3
  - page4
  - page5

单击每个页面不应该再次初始化map-div,但是,在测试并查看了GCP中的API调用之后,我们意识到每一次页面单击仍然在计算Map调用。

注意:为了测试API调用的数量,我们使用一个新的键创建了一个单独的环境,并执行了有限的、可跟踪的步骤来标识正确的调用数。页面1.5上的每一次单击都被计算为一个单独的API调用。

下面是GCP /Services ->凭据->键在单击第1.5页后显示的用法,总共12次。

总使用量(最后30天) 12

我们还查看了计费项下的事务,该数字似乎是正确的(动态地图调用的费用)。

我们还没有完成agm-core内部的代码,并且试图避免使用Javascript实现自定义类的开销,希望有更好的方法来实现。如果我们能提供更多的信息/代码,请提出评论。

我们应该采取怎样的方法才能使每个会话只花费1次地图负载?

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-10-28 02:35:01

如果其他人认为我们的解决方案有用的话,就发布我们的解决方案。

我们无法使用agm核心映射类来完成这一任务。相反,我们使用Google创建了自己的自定义类。

通过这样做,我们可以减少地图调用,并将其限制为每个用户会话一次(不管我们的web应用程序中用户访问了多少页)。

票数 0
EN

Stack Overflow用户

发布于 2020-05-31 09:59:36

您不能构建它,这样用户会话只需要1次地图加载。JavaScript API没有基于会话或缓存的选项,这正是agm核心库在下面使用的。

每次使用手段类创建映射时,都会加载映射。即使你“隐藏”地图,如果你仍然创建它,那就算了。每次网页刷新加载地图计数。因此,如果每个页面都加载了一个映射,那么每次访问该页面(不管它是否是同一个用户会话),都会增加地图加载的数量。

如果您想降低成本,除了从不需要显示地图的网页中删除地图创建之外,我建议您考虑按照每个这个常见问题设置每日配额限制和预算警报。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62079689

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档