You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP中如何从Google Elevation API返回结果输出高程值

提取Google Elevation API返回的高程值(PHP实现)

嘿,这事儿其实挺简单的,我给你一步步拆解怎么在PHP里拿到这个高程值:

1. 先获取API的JSON响应

你可以用file_get_contents快速发起请求(前提是服务器的allow_url_fopen配置是开启的),或者用更可靠的cURL(推荐用于生产环境,兼容性更好)。这里给两种方式的示例:

方式一:用file_get_contents

// 替换成你的API密钥和目标经纬度
$apiKey = 'your_actual_api_key';
$lat = 40.7143528;
$lng = -74.0059731;

// 构建请求URL
$url = "https://maps.googleapis.com/maps/api/elevation/json?locations={$lat},{$lng}&key={$apiKey}";

// 获取API响应内容
$response = file_get_contents($url);

// 检查请求是否成功
if (!$response) {
    die('请求API失败,请检查网络或URL配置');
}

方式二:用cURL(更稳定)

$apiKey = 'your_actual_api_key';
$lat = 40.7143528;
$lng = -74.0059731;
$url = "https://maps.googleapis.com/maps/api/elevation/json?locations={$lat},{$lng}&key={$apiKey}";

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);

if (!$response) {
    die('cURL请求失败,请检查服务器curl扩展是否开启');
}

2. 解析JSON并提取高程值

把返回的JSON字符串转成PHP关联数组,然后从results数组的第一个元素里取出elevation字段就行。一定要先检查API返回的status是否为OK,避免处理无效响应(比如密钥错误、请求超限等):

// 解析JSON为关联数组
$data = json_decode($response, true);

// 检查解析是否成功,以及API返回状态是否正常
if (json_last_error() !== JSON_ERROR_NONE || $data['status'] !== 'OK') {
    die('API返回异常或解析失败,错误状态:' . ($data['status'] ?? '未知'));
}

// 提取高程值
$elevation = $data['results'][0]['elevation'];

// 按需输出结果(比如保留两位小数)
echo "该地址的高程值为:" . round($elevation, 2) . " 米";

小提示

  • 记得替换your_actual_api_key为你自己的Google API密钥,并且确保密钥已经启用了Elevation API权限
  • 如果需要批量获取多个地点的高程,可以在locations参数里用竖线分隔多个经纬度对(比如locations=lat1,lng1|lat2,lng2),然后循环遍历results数组即可
  • 生产环境里建议用日志记录错误,而不是直接die,方便后续排查问题

内容的提问来源于stack exchange,提问作者Schalk Joubert

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 03:33:43