开始使用

Elevation API 提供地球表面各个位置的海拔数据,包括洋底深处位置的海拔数据(返回负值)。

此服务还作为客户端 Maps JavaScript API 的一部分提供,或者在服务器端与 Google 地图服务的 Java 客户端、Python 客户端、Go 客户端和 Node.js 客户端搭配使用。

示例请求和响应

您可以通过 HTTP 接口访问 Elevation API,将请求构造为网址字符串,并使用纬度/经度坐标标识位置或路径顶点。请求必须包含您的 API 密钥。

以下示例请求科罗拉多州“里高城”丹佛的海拔(JSON 格式):

网址

https://maps.googleapis.com/maps/api/elevation/json
  ?locations=39.7391536%2C-104.9847034
  &key=YOUR_API_KEY

cURL

curl -L -X GET 'https://maps.googleapis.com/maps/api/elevation/json?locations=39.7391536%2C-104.9847034&key=YOUR_API_KEY'

JavaScript

var axios = require('axios');

var config = {
  method: 'get',
  url: 'https://maps.googleapis.com/maps/api/elevation/json?locations=39.7391536%2C-104.9847034&key=YOUR_API_KEY',
  headers: { }
};

axios(config)
.then(function (response) {
  console.log(JSON.stringify(response.data));
})
.catch(function (error) {
  console.log(error);
});

Python

import requests

url = "https://maps.googleapis.com/maps/api/elevation/json?locations=39.7391536%2C-104.9847034&key=YOUR_API_KEY"

payload={}
headers = {}

response = requests.request("GET", url, headers=headers, data=payload)

print(response.text)

Java

OkHttpClient client = new OkHttpClient().newBuilder()
  .build();
MediaType mediaType = MediaType.parse("text/plain");
RequestBody body = RequestBody.create(mediaType, "");
Request request = new Request.Builder()
  .url("https://maps.googleapis.com/maps/api/elevation/json?locations=39.7391536%2C-104.9847034&key=YOUR_API_KEY")
  .method("GET", body)
  .build();
Response response = client.newCall(request).execute();

Ruby

require "uri"
require "net/http"

url = URI("https://maps.googleapis.com/maps/api/elevation/json?locations=39.7391536%2C-104.9847034&key=YOUR_API_KEY")

https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true

request = Net::HTTP::Get.new(url)

response = https.request(request)
puts response.read_body

Go

package main

import (
  "fmt"
  "net/http"
  "io/ioutil"
)

func main() {

  url := "https://maps.googleapis.com/maps/api/elevation/json?locations=39.7391536,-104.9847034&key=YOUR_API_KEY"
  method := "GET"

  client := &http.Client {
  }
  req, err := http.NewRequest(method, url, nil)

  if err != nil {
    fmt.Println(err)
    return
  }
  res, err := client.Do(req)
  if err != nil {
    fmt.Println(err)
    return
  }
  defer res.Body.Close()

  body, err := ioutil.ReadAll(res.Body)
  if err != nil {
    fmt.Println(err)
    return
  }
  fmt.Println(string(body))
}

邮差

OpenAPI 规范也可用作 Postman 集合。

在 Postman 中运行

要测试这一点,您可以在网络浏览器中输入网址(请务必将 YOUR_API_KEY 替换为您的实际 API 密钥)。响应包括该点的海拔(以米为单位)以及分辨率值(内插海拔的数据点之间的最大距离,以米为单位)。

如需详细了解如何构建请求网址和可用参数以及如何了解响应,请参阅开发者指南

以下是响应示例:

JSON

{
  "results":
    [
      {
        "elevation": 1608.637939453125,
        "location": { "lat": 39.7391536, "lng": -104.9847034 },
        "resolution": 4.771975994110107,
      },
    ],
  "status": "OK",
}

XML

<ElevationResponse>
 <status>OK</status>
 <result>
  <location>
   <lat>39.7391536</lat>
   <lng>-104.9847034</lng>
  </location>
  <elevation>1608.6379395</elevation>
  <resolution>4.7719760</resolution>
 </result>
</ElevationResponse>

OpenAPI 规范

该 API 的 OpenAPI 规范已发布,可在 GitHub 上获取。

获取 OpenAPI 规范

邮差收藏

OpenAPI 规范也可用作 Postman 集合。

在 Postman 中运行

使用客户端库编码入门指南

客户端库通过提供常见任务(例如身份验证、请求限制和自动重试)的简单原生实现,使用 Google 地图网络服务 API 更轻松地进行开发。Elevation API 适用于 Google 地图服务的 Java 客户端、Python 客户端、Go 客户端和 Node.js 客户端

身份验证、配额、价格和政策

身份验证

若要使用 Elevation API,您必须先启用该 API 并获取正确的身份验证凭据。如需了解详情,请参阅 Google Maps Platform 使用入门

配额和价格

请参阅用量和结算页面,详细了解为 Elevation API 设置的配额和价格。

政策

使用 Elevation API 时,必须遵守 API 政策

了解详情

您可以使用 Elevation API 执行更多操作,例如请求多个位置的海拔数据。如需更多示例和其他详情,请参阅 Elevation API 开发者指南

Elevation API 开发者指南适用于想要在其中一个 Google Maps Platform API 提供的地图中使用海拔数据的网站和移动开发者。其中介绍了如何使用 API 以及有关可用参数的参考资料。