开始使用

简介

利用地图网址,您可以构建一个跨平台通用网址,以启动 Google 地图、执行搜索、获取路线和导航,以及显示地图视图和全景图片。 无论使用何种平台,网址语法都相同。

您无需 Google API 密钥即可使用地图网址。

通用跨平台语法

作为 Android 应用、iOS 应用或网站的开发者,您可以构建一个通用网址,无论用户在打开地图时使用的是哪个平台,该网址都会打开 Google 地图并执行所请求的操作。

  • 在 Android 设备上:
    • 如果已安装并启用 Android 版 Google 地图应用,该网址会在 Google 地图应用中启动 Google 地图,并执行请求的操作。
    • 如果 Google 地图应用未安装或已停用,该网址会在浏览器中启动 Google 地图并执行所请求的操作。
  • 在 iOS 设备上:
    • 如果安装了 iOS 版 Google 地图应用,该网址会在地图应用中启动 Google 地图,并执行所请求的操作。
    • 如果未安装 Google 地图应用,该网址会在浏览器中启动 Google 地图并执行所请求的操作。
  • 在任何其他设备上,该网址会在浏览器中启动 Google 地图并执行请求的操作。

建议您使用跨平台网址从应用或网站启动 Google 地图,因为无论用户使用哪个平台,您都可以通过这些通用网址更广泛地处理地图请求。对于可能仅在移动平台上运行的功能(例如精细导航),您可能更愿意使用特定于 Android 或 iOS 平台的选项。请参阅以下文档:

启动 Google 地图并执行特定操作

如需启动 Google 地图并选择性地执行某项受支持的功能,请使用以下任一格式的网址协议,具体取决于所请求的操作:

  • 搜索 - 启动 Google 地图,其中显示特定地点的图钉,或执行宽泛搜索并启动地图以显示结果:
    https://www.google.com/maps/search/?api=1&parameters
  • 路线 - 请求路线并启动 Google 地图以显示结果:
    https://www.google.com/maps/dir/?api=1&parameters
  • 显示地图 - 启动 Google 地图,但不显示标记或路线:
    https://www.google.com/maps/@?api=1&map_action=map&parameters
  • 创建候选清单 - 启动 Google 地图并显示特定地点的列表:
    https://www.google.com/maps/@?api=1&map_action=shortlist&parameters
  • 显示街景全景图片 - 启动交互式全景图片:
    https://www.google.com/maps/@?api=1&map_action=pano&parameters

重要提示:参数 api=1 用于标识相应网址所针对的 Google 地图网址版本。每个请求中都必须包含此参数。唯一的有效值为 1。如果网址中api=1不存在,系统会忽略所有参数,并启动默认的 Google 地图应用(在浏览器或 Google 地图移动应用中启动,具体取决于所用平台,例如 https://www.google.com/maps)。

构建有效网址

您必须正确编码网址。

例如,某些参数使用竖线字符 (|) 作为分隔符,您必须在最终到达网址中将该字符编码为 %7C。其他参数使用逗号分隔值,例如纬度/经度坐标或城市、州/省。您必须将英文逗号编码为 %2C。使用 %20 对空格进行编码,或将其替换为加号 (+)。

此外,每个请求的网址长度上限为 2,048 个字符。在构建网址时,请注意此限制。

地图操作次数

可用的地图操作包括:搜索、获取路线、显示地图、创建短名单和显示街景全景图片。您可以在请求网址中指定操作,以及必需参数和可选参数。依照网址的标准,您可以使用“与”符号 (&) 分隔参数。对于每项操作,搜索参数部分中都会列出参数及其可能的值。

搜索

搜索操作会显示在可见地图区域内进行搜索的结果。搜索特定地点时,生成的地图会在指定位置放置一个图钉,并显示可用的地点详情。

构建搜索网址

https://www.google.com/maps/search/?api=1&parameters

参数

  • query(必需):定义要在地图上突出显示的地点。所有搜索请求都必须提供查询参数。
    • 以地点名称、地址或以逗号分隔的纬度/经度坐标的形式指定位置。字符串应采用 URL 编码,因此“City Hall, New York, NY”之类的地址应转换为 City+Hall%2C+New+York%2C+NY。
    • 以 URL 编码字符串(例如 grocery+stores 或 restaurants+in+seattle+wa)的形式指定宽泛搜索字词。
  • query_place_id(可选):地点 ID 是用于唯一标识地点的文本标识符。对于 search 操作,您必须指定 query,但也可以指定 query_place_id。如果您同时指定了这两个参数,则仅当 Google 地图找不到地点 ID 时,才会使用 query。如果您尝试明确链接到特定场所,地点 ID 是确保您链接到正确地点的最佳保证。此外,建议在您使用纬度/经度坐标查询特定位置时提交 query_place_id。

搜索查询示例

位置信息搜索

在位置搜索中,您可以使用地点名称、地址或以逗号分隔的纬度/经度坐标来搜索特定位置,并且生成的地图会在该位置显示一个图钉。这三个示例说明了如何使用不同的位置值搜索同一位置。

示例 1:搜索地点名称“Lumen Field”会显示以下地图:

https://www.google.com/maps/search/?api=1&query=lumen+field

流明球场地图

示例 2:仅使用纬度/经度坐标搜索 Lumen Field,会生成以下地图。请注意,地图中有一个图钉,但地图或侧边栏中未提供其他地点信息:

https://www.google.com/maps/search/?api=1&query=47.5951518%2C-122.3316393

示例 3:使用纬度/经度坐标以及地点 ID 搜索 Lumen Field,会生成以下地图:

https://www.google.com/maps/search/?api=1&query=47.5951518%2C-122.3316393&query_place_id=ChIJKxjxuaNqkFQR3CK6O1HNNqY

示例 4:搜索地点名称“Starbucks”会生成以下地图:

https://www.google.com/maps/search/?api=1&query=starbucks

星巴克的搜索结果

示例 5:使用地点名称和地点 ID 搜索特定 Starbucks 咖啡店会显示以下地图:

https://www.google.com/maps/search/?api=1&query=starbucks&query_place_id=ChIJsU30zM1qkFQRbnOm1_LBoG0

如果您的目标是显示特定地点的详细信息,请使用以下推荐格式之一构建搜索网址:

  • query=PLACE_NAME,ADDRESS
  • query=PLACE_NAME&query_place_id=PLACE_ID

如需以编程方式检索地点 ID,您可以使用 Places API:文本搜索(仅 ID)功能。 这是一种免费获取地点 ID 的方法。详细了解地点 ID 和 Place API(新版)请求。

当用户点击或点按地图上的 POI 时,也可以检索地点 ID。详细了解可点击的地图注点图标 (JavaScript、Android、iOS)

分类搜索

在类别搜索中,您需要传递一个宽泛搜索字词,Google 地图会尝试在您指定的位置附近查找符合您条件的商家信息。如果未指定位置,Google 地图会尝试查找您当前位置附近的商家信息。如果您希望为类别搜索提供位置信息,请在宽泛搜索字符串中添加位置信息(例如,pizza+seattle+wa)。

在此示例中,搜索华盛顿州西雅图市的披萨店会得到以下地图:

https://www.google.com/maps/search/?api=1&query=pizza+seattle+wa


路线

路线操作会在地图上显示两个或更多指定点之间的路径,以及距离和行程时间。

生成路线网址

https://www.google.com/maps/dir/?api=1&parameters

参数

  • origin:定义显示路线的起点。默认为最相关的起始位置,例如设备位置信息(如果可用)。如果没有任何匹配项,生成的地图可能会提供空白表单,以便用户输入出发地。此值可以是地点名称、地址或以逗号分隔的纬度/经度坐标。字符串应采用网址编码,因此“City Hall, New York, NY”等地址应转换为 City+Hall%2C+New+York%2C+NY。

    注意:此参数为可选参数,除非您在网址中指定了 origin_place_id。如果您选择指定 origin_place_id,则还必须在网址中添加 origin。

  • origin_place_id(可选):地点 ID 是用于唯一标识地点的文本标识符。如果您想明确指定某个场所,使用地点 ID 是确保您链接到正确地点的最佳方式。使用此参数的网址还必须包含 origin。
  • destination:定义路线的终点。如果未指定,生成的地图可能会提供一个空白表单,以便用户输入目的地。此值可以是地点名称、地址,也可以是以逗号分隔的纬度/经度坐标。字符串应采用网址编码,因此“City Hall, New York, NY”等地址应转换为 City+Hall%2C+New+York%2C+NY。

    注意:此参数是可选的,除非您在网址中指定了 destination_place_id。如果您选择指定 destination_place_id,则还必须在网址中添加 destination。

  • destination_place_id(可选):地点 ID 是用于唯一标识地点的文本标识符。如果您尝试明确指定某个场所,使用地点 ID 是确保您链接到正确地点的最佳方式。使用此参数的网址还必须包含 destination。
  • travelmode(可选):定义出行方式。选项列表如下:
    • driving
    • walking:尽可能选择步道和人行道。
    • bicycling:通过自行车道(如有)的路线。“骑车”是指人力出行方式。
    • two-wheeler:通过两轮车首选街道的路线(如有)。 “双轮机动车”是指双轮机动车辆,例如摩托车。如需了解详情,请参阅两轮车覆盖范围。
    • transit
    如果未指定 travelmode,Google 地图会显示与指定路线和/或用户偏好最相关的一种或多种模式。
  • dir_action=navigate(可选):根据出发地是否可用,启动前往指定目的地的精细导航或路线预览。如果用户指定的起点不在用户当前位置附近,或者当前设备位置不可用,则地图会启动路线预览。 如果用户未指定出发地(在这种情况下,出发地默认为当前设备位置),或者出发地靠近用户的当前位置,则地图会启动精细导航。请注意,并非所有 Google 地图产品和/或所有目的地之间都支持导航;在这些情况下,系统会忽略此参数。
  • waypoints:指定一个或多个中间地点,用于在 origin 和 destination 之间规划路线。您可以使用竖线字符 (|) 分隔地点来指定多个途经点(例如,Berlin,Germany|Paris,France)。允许的途经点数量因打开链接的平台而异,移动浏览器最多支持 3 个途经点,其他平台最多支持 9 个途经点。 航点在地图上的显示顺序与它们在网址中的列出顺序相同。 每个途经点可以是地点名称、地址,也可以是以英文逗号分隔的纬度/经度坐标。字符串应进行 网址编码,因此“Berlin,Germany|Paris,France”等航点应转换为 Berlin%2CGermany%7CParis%2CFrance。

    注意:

    • 并非所有 Google 地图产品都支持航点;在这些情况下,此参数将被忽略。
    • 此参数是可选的,除非您在网址中指定了 waypoint_place_ids。如果您选择指定 waypoint_place_ids,则还必须在网址中添加 waypoints。
  • waypoint_place_ids(可选):地点 ID 是用于唯一标识地点的文本标识符。Waypoint_place_ids 可让您提供地点 ID 列表,以匹配 waypoints 的列表。 地点 ID 应按照与航点相同的顺序列出,并使用竖线字符“|”( 经过网址编码为 %7C)进行分隔。如果您想明确指定某些场所,地点 ID 是确保您链接到正确地点的最佳方式。 使用此参数的网址还必须包含 waypoints。
  • avoid(可选):设置路线应尽量避开的功能。您可以将此参数设置为以下一个或多个选项,并用英文逗号“,”( 网址编码为 %2C)分隔各个选项:
    • ferries
    • highways
    • tolls

路线示例

以下网址会以路线模式启动地图,并提供一个表单,以便用户输入起点和终点。

https://www.google.com/maps/dir/?api=1

从出发地到目的地的地图

以下示例会启动一张地图,其中包含从华盛顿州西雅图的太空针塔到派克市场之间的骑车路线。

https://www.google.com/maps/dir/?api=1&origin=Space+Needle+Seattle+WA&destination=Pike+Place+Market+Seattle+WA&travelmode=bicycling

西雅图目的地地图

以下示例会启动一张地图,其中包含从 Google 孟买办事处到孟买国际机场的两轮车路线。

https://www.google.com/maps/dir/?api=1&origin=Google+Mumbai+India&destination=Mumbai+Airport&travelmode=two-wheeler

孟买国际机场目的地的地图

以下示例会启动一张地图,其中显示了从澳大利亚悉尼 Google 办事处到维多利亚女王大厦的步行路线。

https://www.google.com/maps/dir/?api=1&origin=Google+Pyrmont+NSW&destination=QVB&destination_place_id=ChIJISz8NjyuEmsRFTQ9Iw7Ear8&travelmode=walking

显示维多利亚女王大厦目的地的地图

显示地图

地图操作会返回不含标记或路线的地图。

形成地图网址

https://www.google.com/maps/@?api=1&map_action=map&parameters

参数

  • map_action=map(必需):指定要显示的地图视图类型。地图和街景共用同一个端点。为确保显示地图,必须将 map_action 指定为 map。
  • center(可选):定义地图窗口的中心,并接受以逗号分隔值形式表示的纬度/经度坐标(例如 -33.8569,151.2152)。
  • zoom(可选):设置地图的初始缩放级别。 可接受的值是介于 0(整个世界)到 21(单个建筑物)之间的整数。上限可能会因所选位置提供的地图数据而异。默认值为 15。
  • basemap(可选):定义要显示的地图类型。 值可以是 roadmap(默认)、satellite 或 terrain。
  • layer(可选):定义要在地图上显示的额外图层(如果有)。该值可以是以下值之一:none(默认值)、transit、traffic 或 bicycling。

地图示例

此示例网址会启动默认的 Google 地图,并以用户当前所在位置为中心。

https://www.google.com/maps/@?api=1&map_action=map

以下示例显示了以澳大利亚新南威尔士州卡通巴(位于 -33.712206,150.311941)为中心的地图,并设置了可选的 zoom 和 basemap 参数。

https://www.google.com/maps/@?api=1&map_action=map&center=-33.712206%2C150.311941&zoom=12&basemap=terrain


显示街景全景图片

借助 pano 操作,您可以启动查看器,以交互式全景图片的形式显示街景图像。每张街景全景图片都提供以单个位置为中心的 360 度全景视图。 图片包含 360 度的水平视角(完整环绕)和 180 度垂直视角(直上直下)。pano 操作会启动一个查看器,以镜头为中心将生成的全景图片渲染为一个球面。您可以操纵相机来控制镜头的缩放级别和朝向。

Google 街景提供整个 覆盖区域内以指定位置为中心的全景视图。此外,还提供用户贡献的全景照片和街景特辑。

构建街景网址

https://www.google.com/maps/@?api=1&map_action=pano&parameters

参数

  • map_action=pano(必需):指定要显示的视图类型。Google 地图和街景共用同一端点。为确保显示全景图片,必须将 action 指定为 pano。

此外,还必须提供以下网址参数之一:

  • viewpoint:查看器会显示拍摄地点最接近 viewpoint 位置的全景照片,该位置以逗号分隔的纬度/经度坐标(例如 46.414382,10.013988)指定。由于街景图像会定期刷新,并且每次拍摄照片的位置可能略有不同,因此在图像更新后,您的位置可能会突然切换到另一张全景照片。
  • pano:要显示的图片的特定全景 ID 。如果您指定了 pano,还可以指定 viewpoint。仅当 Google 地图找不到全景 ID 时,才会使用 viewpoint。如果指定了 pano 但未找到,并且未指定 viewpoint,则不会显示全景图片。而是会以默认模式打开 Google 地图,显示以用户当前位置为中心的地图。

以下网址参数为可选参数:

  • heading:表示镜头的罗盘航向,以与正北方所呈顺时针角度表示。可接受的值介于 -180 到 360 度之间。如果省略,系统会根据查询的视点(如果指定)和图片的实际位置选择默认朝向。
  • pitch:指定相机的向上或向下角度。 俯仰角以度为单位指定,范围为 -90 到 90。正值会将镜头向上倾斜,而负值会将镜头向下倾斜。默认俯仰角 0 是根据拍摄图片时摄像头的位置设置的。因此,0 度倾斜度通常(但并不总是)表示水平。例如,在山上拍摄的图像可能会呈现出非水平的默认倾斜度。
  • fov:确定图片的水平视野范围。视野范围以度为单位,范围为 10 到 100。默认值为 90。 在处理固定大小的视口时,视野范围被视为缩放级别,数字越小表示缩放级别越高。

街景示例

前两个示例显示了埃菲尔铁塔的全景图片。示例 1 仅使用 viewpoint 作为位置,并设置了可选的 heading、pitch 和 fov 参数。为了进行比较,示例 2 使用了 pano ID 以及与示例 1 中相同的参数设置。第三个示例显示的是室内全景图片。

示例 1:仅使用 viewpoint 指定位置。

https://www.google.com/maps/@?api=1&map_action=pano&viewpoint=48.857832%2C2.295226&heading=-45&pitch=38&fov=80

示例 2:使用 pano ID 以及 viewpoint 位置。 pano ID 的优先级高于 viewpoint。 在此示例中,系统找到了全景 ID,因此忽略了 viewpoint。请注意,为 pano ID 显示的全景图片与仅使用 viewpoint 找到的图片略有不同,并且比后者更新。

https://www.google.com/maps/@?api=1&map_action=pano&pano=tu510ie_z4ptBZYo2BGEJg&viewpoint=48.857832%2C2.295226&heading=-45&pitch=38&fov=80

示例 3:显示英国伦敦 Sarastro 餐厅内部的全景图片,该图片通过全景图片 ID 指定。

https://www.google.com/maps/@?api=1&map_action=pano&pano=4U-oRQCNsC6u7r8gp02sLA

查找全景图片 ID

如需查找特定全景图片的 ID,您可以使用多种方法。


创建候选清单

精选列表操作会显示特定地点的列表,并允许用户将这些地点保存到其 Google 地图个人资料中、与他人分享或单独探索每个地点。

生成候选名单网址

https://www.google.com/maps/@?api=1&map_action=shortlist&parameters

参数

  • map_action=shortlist(必需):指定短名单操作。
  • place_ids(必需):定义要包含在候选清单中的地点。此参数接受一个或多个地点 ID 作为以英文逗号分隔的值。您最多可以指定 20 个地点 ID。

候选清单示例

以下示例会启动一个地图,其中包含一个包含三个特定地点的精选列表。

https://www.google.com/maps/@?api=1&map_action=shortlist&place_ids=ChIJKxjxuaNqkFQR3CK6O1HNNqY,ChIJdWjwULVqkFQRh8ifgzporms,ChIJQ_oEiK1qkFQRg3bU4l3mmWs


更多示例

使用航点的路线示例

以下路线示例会启动 Google 地图,并显示从法国巴黎到法国瑟堡的驾车路线,途经以下途经点:

国家/地区,城市地名地点 ID
1. 法国凡尔赛 凡尔赛宫 ChIJdUyx15R95kcRj85ZX8H8OAU
2. 法国沙特尔 沙特尔主教座堂 ChIJKzGHdEgM5EcR_OBTT3nQoEA
3. 法国勒芒 勒芒圣朱利安大教堂 ChIJG2LvQNCI4kcRKXNoAsPi1Mc
4. 法国卡昂 卡昂城堡 ChIJ06tnGbxCCkgRsfNjEQMwUsc

在示例网址中,途经点的定义方式各不相同,因此您可以比较生成的地图上途经点的显示差异。

示例 1:航点定义为“城市, 国家/地区”:

https://www.google.com/maps/dir/?api=1&origin=Paris%2CFrance&destination=Cherbourg%2CFrance&travelmode=driving&waypoints=Versailles%2CFrance%7CChartres%2CFrance%7CLe+Mans%2CFrance%7CCaen%2CFrance

示例 2:航点定义为特定地点名称:

https://www.google.com/maps/dir/?api=1&origin=Paris%2CFrance&destination=Cherbourg%2CFrance&travelmode=driving&waypoints=Palace+of+Versailles%7CChartres+Cathedral%7CCathedral+of+Saint+Julian+of+Le+Mans%7CCaen+Castle

示例 3:航点定义为城市、国家/地区,还为每个航点中的特定场所提供 waypoint_place_ids:

https://www.google.com/maps/dir/?api=1&origin=Paris%2CFrance&destination=Cherbourg%2CFrance&travelmode=driving&waypoints=Versailles%2CFrance%7CChartres%2CFrance%7CLe+Mans%2CFrance%7CCaen%2CFrance&waypoint_place_ids=ChIJdUyx15R95kcRj85ZX8H8OAU%7CChIJKzGHdEgM5EcR_OBTT3nQoEA%7CChIJG2LvQNCI4kcRKXNoAsPi1Mc%7CChIJ06tnGbxCCkgRsfNjEQMwUsc

示例 4:将航点定义为“城市, 国家/地区”,但与前面的示例相比,航点的列出顺序不同。演示地图会按照航点在网址中的列出顺序显示航点。

https://www.google.com/maps/dir/?api=1&origin=Paris%2CFrance&destination=Cherbourg%2CFrance&travelmode=driving&waypoints=Versailles%2CFrance%7CCaen%2CFrance%7CLe+Mans%2CFrance%7CChartres%2CFrance

地图示例

显示具有指定 basemap(卫星)和 layer(公交)的地图。

https://www.google.com/maps/@?api=1&map_action=map&center=37.7992940%2C-122.3976113&zoom=15&basemap=satellite&layer=transit

街景示例

使用 FIFE 图片键作为 pano ID 显示街景全景图片。请注意,pano ID 的开头带有 F:。

https://www.google.com/maps/@?api=1&map_action=pano&pano=F:-ud6AZSB-sQg/V0cfCSV3OWI/AAAAAAAAG1U/UQEoc5sXPQEIP7zzD6SWzmKb8Vbug47uQCLIB&heading=22&pitch=-5&fov=55

改进了包含 UTM 参数的 Google 地图网址

为了帮助 Google 更好地了解开发者如何集成 Google 地图网址,并确保最佳性能,我们建议您在网址构建中添加 UTM 跟踪参数。通过添加 utm_source 和 utm_campaign 参数,您可以提供有价值的数据,以便我们分析使用模式并改进 Maps URLs 产品。

对于 utm_source 参数,请使用您的应用名称。utm_campaign 参数应反映用户的预期操作,例如“location_sharing”“place_details_search”或“directions_request”。

例如,包含 UTM 参数的网址可能如下所示:

https://www.google.com/maps/search/?api=1&query=Sydney+Opera+House&query_place_id=ChIJ3S-JXmauEmsRUcIaWtf4MzE&utm_source=YOUR_APP_NAME&utm_campaign=place_details_search