优化GoogleMapsAPI密钥查看安全性最佳做法(组图)

优采云 发布时间: 2021-08-11 21:02

  优化GoogleMapsAPI密钥查看安全性最佳做法(组图)

  本指南介绍了在安全性、性能和消费方面优化 Google Maps API 使用的几种策略。

  安全审查安全最佳做法

  API key 是一个以项目为中心的凭证,所采取的预防措施应该与用户 ID 和密码相同。检查 API 密钥的最佳做法,以防止意外使用密钥,这可能会导致过度使用配额并为您的帐户收取意外费用。

  使用 API 密钥访问 Maps API

  API 密钥是访问 Google Maps API 的首选身份验证方法。尽管我们仍然支持客户端 ID,但 API 密钥支持更精细的安全控制,并且可以进行调整以使用特定的 URL、IP 地址和移动 SDK(Android 和 iOS)。如需了解如何创建和保存 API 密钥,请访问每个 API 或 SDK 对应的“使用 API 密钥”页面(例如,如果您使用的是 Maps JavaScript API,请访问该 API 的相应页面)。

  性能使用指数退避算法来处理错误

  如果您的应用由于在短时间内多次尝试调用API而遇到错误(例如QPS错误),请考虑使用指数退避算法来处理请求。

  具体来说,您可以调整查询的速度。在代码中,在查询之间添加 S 秒的等待时间。如果查询仍然导致 QPS 错误,请在发送另一个查询之前将等待时间加倍。继续调整等待时间,直到查询不再返回错误。

  按需发送用户交互请求

  收录用户交互的请求应按需发送到 API。这意味着您需要等待最终用户执行操作(例如点击),然后再发出 API 请求,然后使用结果加载地图、设置目的地或显示适当的信息。按需发送,可以避免向 API 发出不必要的请求,从而减少 API 消耗。

  地图移动时不显示叠加内容

  用户在移动地图时不得使用 Draw() 方法在地图上显示自定义叠加内容。每次用户移动地图时,系统都会重新绘制地图。因此,在用户移动地图时将叠加内容放置在地图上可能会导致延迟或视觉冻结。请仅在用户停止平移或缩放后添加或删除地图上的叠加内容。

  不要通过Draw方法进行密集操作

  一般来说,最好不要在 Draw() 方法中添加高性能的非绘图操作。例如,在Draw()方法代码中应避免以下操作:

  这些操作可能会降低性能,并且在渲染地图时可能会出现延迟或视觉冻结。

  使用光栅图片进行标记

  添加标记以在地图上标识位置时,请使用光栅图像(例如 .PNG 或 .JPG 图像)。请勿使用可缩放矢量图形 (SVG) 图像,因为渲染 SVG 图像可能会导致重绘地图时出现延迟。

  优化标签

  您可以优化多个标签作为单个静态元素的呈现以提高性能。这在需要大量标签的情况下非常有用。默认情况下,Maps JavaScript API 将决定是否优化标记。如果有大量标记,Maps JavaScript API 将尝试通过优化来呈现标记。并非所有标记都可以优化;在某些情况下,Maps JavaScript API 可能需要在没有优化的情况下呈现标记。对于*敏*感*词* GIF 或 PNG,或者每个标记都必须呈现为单独的 DOM 元素,应禁用优化呈现。

  创建集群来管理标签展示

  为了帮助您管理标记的显示(用于标识地图上的位置),请使用标记聚类器库来创建标记聚类。标签聚类器库收录以下选项:

  消费

  为了规划预算和控制成本,您可以执行以下操作:

  在地图中管理消费

  由于用户通常一次只能与一张地图进行交互,因此在每个页面上使用一张地图可以有效优化地图显示。您的应用程序可以操作地图以根据客户交互和需求显示不同的数据集。

  使用静态图片

  使用动态图像(动态地图和动态街景)的请求成本将高于使用静态图像和静态街景的请求。如果您无法预见用户与地图或街景的交互(缩放或平移),请考虑使用这些 API 的静态版本。

  此外,静态地图和静态街景也非常适合提供缩略图(非常小的地图和照片)。使用这些项目的请求以较低的费率计费,并且可以在用户交互(点击)时生成动态版本,让用户获得完整的 Google 地图体验。

  使用地图嵌入 API

  您可以使用 Maps Embed API 免费添加带有单个标记的地图或动态地图。对于需要单个标记但不需要地图自定义的应用程序,您可以使用 Maps Embed API。目前,使用路线模式、街景模式或搜索模式的 Maps Embed API 请求需要付费(详情请参阅价目表)。

  为移动应用程序使用移动地图 SDK

  对于移动应用程序,请在显示地图时使用 Maps SDK for Android 或 Maps SDK for iOS。如果不允许使用移动 SDK,请使用 Maps Static API 或 Maps JavaScript API。

  管理路线方向 API 航点中的消费限制

  如果可能,将查询中的用户条目限制为最多 10 个航点。超过 10 个航点的请求将以更高的速度结算。

  使用 Directions API 优化并提供最佳路线

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线