locateme
是一个命令行工具,能够调用osx系统自带的apple定位服务来给出经纬数据。
Github:netj/LocateMe。下载站:iHarder.net LocateMe。
Returns your computer’s location using Apple’s built-in geolocation services.
可以从下载站下载软件包之后解压并放到bin下面,当然更推荐使用brew安装:
$ brew update --verbose && brew install locateme --verbose
$ which locateme
/usr/local/bin/locateme
这还没完,接下来要先使用一次locateme,会报错:
$ locateme
2021-08-31 10:47:01.299 locateme[32912:640457] [error code] != kCLErrorLocationUnknown: Error Domain=kCLErrorDomain Code=1 "(null)"
2021-08-31 10:47:01.299 locateme[32912:640457] Error: Error Domain=kCLErrorDomain Code=1 "(null)"
然后打开系统偏好设置 > 安全性与隐私 > 定位服务
,勾选LocateMe
。然后再尝试使用,应该就OK了:
$ locateme
<+XX.23453090,+XXX.48293057> +/- 65.00m (speed -1.00 mps / course -1.00) @ 2021/8/28 中国标准时间 XX:XX:XX
$ locateme -h
USAGE: locateme [options]
Version: 0.2.1
Outputs your current location using Apple's geolocation services.
-h This help message
-g Generate a Google Map URL
-l Generate long, multiline format
-f format Generate a custom output with the following placeholders
{LAT} Latitude as a floating point number
{LON} Longitude as a floating point number
{ALT} Altitude in meters as a floating point number
{SPD} Speed in meters per second as a floating point number
{DIR} Direction in degrees from true north as a floating point number
{HAC} Horizontal accuracy in meters as a floating point number
{VAC} Vertical accuracy in meters as a floating point number
{TIME} Timestamp (with date) of the location fix
{HOST} Computer hostname
Examples:
Command: locateme -f "lat={LAT},lon={LON}"
Output : lat=12.34567,lon=98.76543
Command: locateme -f "<lat>{LAT}</lat><lon>{LON}</lon><alt>{ALT}</alt>"
Output : <lat>12.34567</lat><lon>98.76543</lon><alt>123</alt>
一般这样用:
$ locateme -f "{\"lat\":\"{LAT}\",\"lon\":\"{LON}\"}"
{"lat":"XX.234463","lon":"XXX.482957"}
EOF