📜  getCityNameByLatitudeLongitude - Shell-Bash (1)

📅  最后修改于: 2023-12-03 14:41:23.629000             🧑  作者: Mango

介绍 getCityNameByLatitudeLongitude - Shell-Bash

简介

getCityNameByLatitudeLongitude 是一个基于 Shell/Bash 编写的命令行程序,用于根据经纬度获取对应城市名称。该程序利用开源数据源,通过 HTTP 请求获取地理位置信息,再解析相应的 JSON 数据,返回城市名称。

特性
  • 快速、简单地根据经纬度获取城市名称;
  • 使用开源数据源,数据更新及时;
  • 支持通过设置环境变量来自定义数据源和 HTTP 请求参数。
用法

可以将 getCityNameByLatitudeLongitude 程序作为一个独立的命令行工具使用,也可以在其他 Bash 脚本中调用。

命令行用法

在终端中执行以下命令:

getCityNameByLatitudeLongitude -lat [纬度值] -lng [经度值]

其中 [纬度值][经度值] 分别表示要查询的位置的纬度和经度值。例如:

getCityNameByLatitudeLongitude -lat 30.2741 -lng 120.1551

该命令将返回以下值:

Hangzhou
Bash 脚本中的用法

在 Bash 脚本中引入 getCityNameByLatitudeLongitude 程序,并可以使用其中的函数 get_city_name 查询城市名称。

#!/bin/bash

source getCityNameByLatitudeLongitude


lat="30.2741"
lng="120.1551"

city_name=$(get_city_name $lat $lng)

echo "The city is ${city_name}"
环境变量

如果需要自定义数据源和 HTTP 请求参数,可以在 Bash 脚本中设置以下环境变量:

  • GEOCODING_API_URL:定义 HTTP 请求的 URL;
  • GEOCODING_API_KEY:如果需要认证,可以设置 API Key;
  • GEOCODING_API_FORMAT:定义 HTTP 应答的数据格式;
  • GEOCODING_API_PARAMS:定义查询参数。

例如,可以在 Bash 脚本中设置以下环境变量:

#!/bin/bash

export GEOCODING_API_FORMAT=json
export GEOCODING_API_URL=https://maps.googleapis.com/maps/api/geocode/$GEOCODING_API_FORMAT
export GEOCODING_API_PARAMS="-latlng=$lat,$lng&key=$GEOCODING_API_KEY"

source getCityNameByLatitudeLongitude

city_name=$(get_city_name $lat $lng)
参考资料