Measure Map帮助
打开 Measure Map

iFrame API

在你自己的网站上将你的某个项目显示为实时地图,并采用适合你网站的单位、地图样式和主题。

iFrame API 可以把项目的地图放到你自己的网页上。访客无需账户,也无需离开你的网站,就能看到带有你测量结果的卫星地图,并可以在其中移动。你来选择项目、单位、地图样式和颜色主题。

开始之前#

  • 一个正式密钥,且具有 嵌入的地图 权限。参见 API 密钥。
  • 访客可以查看的项目:你自己的或其他账户的项目,共享为 仅查看 或 公开。私有 项目只有在属于其他账户且其所有者已授权你时才会显示(参见客户的私有项目);你自己的私有项目永远不会显示。参见哪些项目可以嵌入。
  • 可选:为密钥设置网站限制,这样嵌入只能在你自己的网站上使用。参见 API 密钥。

生成嵌入代码#

开发者 > 嵌入地图 会用你的正式密钥为你生成代码:选择项目,选择主题、单位、地图类型和尺寸,查看 实时预览,然后复制 嵌入代码。如果项目是私有的,该部分会提示这一点,并提供 设为仅查看。每一步的说明参见获取嵌入代码。

选好项目并带有实时预览的嵌入地图

代码中带有你的密钥,所以在你更换密钥之前它一直有效。当密钥的权限超出 嵌入的地图 时,该部分会提醒你,因为任何人都可以在你页面的源代码中读到它;当密钥没有网站限制时也会提醒。只有 实时预览 使用短期令牌。参见密钥还是令牌。

嵌入地址#

嵌入是一个 <iframe>,其地址以 https://app.measuremaponline.com/iframe_api 开头,后面跟着下列参数:

参数 是否必需 取值
pid 必需 项目的 ID:即项目在应用中的地址里 /p/ 之后的部分。项目所有者可以在项目概览的末尾复制它;在嵌入的地图中点击项目名称也会复制它。
key key 或 token 你的 API 密钥。
token key 或 token 来自你的服务器的令牌(见下文)。
ms 可选 单位:metric(公制)或 imperial(英制)。不设置时,美国的访客看到英制单位,其他所有人看到公制。
maptype 可选 satellite(默认)、map、hybrid 或 terrain。
theme 可选 auto(默认:跟随访客自己的系统设置)、light 或 dark。

最简示例#

<iframe src="https://app.measuremaponline.com/iframe_api?pid=YOUR_PROJECT_ID&key=YOUR_API_KEY&maptype=satellite&theme=auto"
  title="YOUR_PROJECT_NAME" width="500" height="500" style="border:0" allow="fullscreen"></iframe>

请替换 YOUR_PROJECT_ID、YOUR_API_KEY 和 YOUR_PROJECT_NAME(屏幕阅读器会朗读 title),并按你的页面设置合适的宽度和高度。

带有复制按钮的嵌入代码

密钥还是令牌#

使用 key,就像 嵌入地图 部分给你的代码那样,嵌入会在密钥有效期间持续工作,范围是其限制所允许的网站。此时你的密钥在页面源代码中可见,所以:

  • 请使用只具有 嵌入的地图 权限的密钥;
  • 把它限制在你自己的网站;
  • 更换密钥时,请在旧密钥继续有效的 24 小时内更新你的页面(在密钥有权限设置之前创建的密钥,则沿用你被告知的那个日期)。

使用 token,密钥留在你的服务器上。这适合由你自己的服务器在每次访问时写入页面的嵌入:在显示页面之前,服务器向 REST API 请求一个令牌,并把它放进 iframe 的地址中:

  • POST https://api.measuremaponline.com/api/v2/auth/iframe/token,在 Authorization 标头中带上你的密钥,会返回一个有效期为 60 分钟的 token;
  • POST https://api.measuremaponline.com/api/v2/auth/token 作用相同,并接受以秒为单位的 duration,最长 24 小时。其响应会说明令牌何时过期。

你的账户每小时最多可以获取 600 个令牌。请使用正式密钥:嵌入只显示正式项目,所以用沙盒密钥生成的令牌打不开地图。参见 API 参考。

访客可以做什么#

访客可以平移和缩放地图、查看你的图形的测量结果,并阅读项目的评论。当项目允许所有人评论时,他们可以添加评论;点击项目名称会复制它的 ID。除此之外他们不能更改任何内容:无论项目的访问级别如何,嵌入内部的编辑功能都是关闭的。唯一的例外是 Open Guest 套餐中的 Open Guest 项目,访客可以在其中自己进行测量。

地图没有出现时#

大多数情况下,地图会显示一条说明原因的消息:参见当地图显示消息时。请依次检查:

  • **地址中的 token 已过期。**除非你的服务器要求更长时间,令牌的有效期为 60 分钟。请从使用你密钥的 嵌入地图 重新复制代码,或让你的服务器为每次访问获取新的令牌(参见上文)。
  • **项目是私有的。**如果是你自己的项目,请将其设为 仅查看 或 公开,或在 嵌入地图 中按 设为仅查看。如果是客户的项目,他们可以在地图上授权你,或者你可以在私有项目中向他们提出请求。
  • 项目所属的套餐已结束:即其所有者的套餐,对于组织的项目则是组织的套餐。套餐续订后项目会重新显示。
  • **该网站不被允许。**如果密钥设有网站限制,显示嵌入的页面必须位于其中某个网站上。有些浏览器和网站会隐藏嵌入所在的页面;设置了限制时,这样的嵌入会被拒绝。
  • **密钥已被更换。**旧密钥会在创建新密钥 24 小时后失效,如果被吊销则立即失效。
  • **该密钥是沙盒密钥。**嵌入只适用于正式密钥和正式项目。
  • 订阅未生效,或 API 访问已被暂停:API 密钥 部分会说明这一点。

仍需要帮助?

给我们的支持团队写信,告诉我们你想做什么。附上截图会更有帮助。

发邮件联系支持