¿Hay alguna manera de acceder a la geolocalización de una Mac desde la terminal?

46

Algunas aplicaciones GUI usan los servicios de ubicación de OS X, pero quiero recuperar la ubicación física de una Mac desde la línea de comandos . Esto podría ser útil para ejecutar scripts, cambiar configuraciones, etc. El mecanismo debe ser CoreLocation , no un servicio Geo IP (los datos son de baja resolución, necesitan conexión en línea).

El requisito mínimo es la salida de longitud y latitud . Niza sería un número que indica la precisión. Super agradable: un geocodificador que proporciona nombres de ubicaciones.

myhd
fuente
Por favor, no incluya respuestas directamente en la pregunta, tiende a confundir a las personas y hace que sea bastante difícil entender cuál es realmente la pregunta. Si desea agregar resultados de muestra a las diferentes soluciones ofrecidas, puede hacerlo directamente editando las respuestas.
nohillside

Respuestas:

31

La respuesta de vilmoskörte parece ser buena, pero me encargué de hacer una herramienta que haga esto para mi propia educación. Lo puse en GitHub.

Dónde estoy

Una herramienta de línea de comando simple. Sin opciones, solo ejecuta y produce Lat / Long, precisión en metros y una marca de tiempo. Necesitará que se activen los Servicios de ubicación de OS X (Preferencias del sistema> Seguridad y privacidad), y permiso para recopilar su ubicación (OS X le indicará la primera ejecución).

Enlace de descarga directa (.zip)

ladrones
fuente
Eso es genial, ¡bonificación por simplicidad!
myhd
enlace roto, planteó una solicitud de extracción con rob
booyaa
@booyaa gracias por el mensaje. El enlace se rompió hace un tiempo cuando GitHub eliminó las descargas y desordené mi cuenta. Ya ha vuelto.
Robmathers
13

Esto ya ha sido programado, mira

http://iharder.sourceforge.net/current/macosx/locateme/

vilmoskörte
fuente
muy agradable. opción genial:-g … Generate a Google Map URL
myhd
El autor del software ha indicado que conoce los problemas de Mountain Lion y revisará el código para ver si hay una solución fácil disponible.
bmike
Esta es la mejor respuesta. Puede instalar con brew install locatemey funciona en macOS Mojave.
mk12
8

Soy el autor de LocateMe, y acabo de descubrir que tengo que copiar LocateMe en la carpeta / Aplicaciones para que funcione en Mountain Lion. No estoy seguro de lo que tendría que hacer para evitar eso, probablemente algo acerca de obtener un certificado, que no es probable que busque pronto.

Mientras tanto, para LocateMe y probablemente los demás, intente copiarlos a / Aplicaciones y vea si tiene mejor suerte.

-Robar

rharder
fuente
Puedo confirmar que funciona.
markhunte
5

Esas aplicaciones deben firmarse con un certificado de desarrollador antes de que puedan autorizar con el servicio Core Location. Si busca en Console.app, puede ver los intentos fallidos de autorizar:

31/12/2012 13:08:26.441 locationd[484]: Couldn't get information from PID 40084
31/12/2012 13:08:27.515 CoreLocationAgent[40086]: CodeSigningInforequest for pid=40084 

He usado mi cuenta de desarrollador para construir y firmar un nuevo binario whereami . Después de ejecutarlo, Mountain Lion le pedirá su permiso para permitirle acceder a los datos de ubicación.

paulgrav
fuente
Esto funcionó muy bien para mí en Mac 10.8.2
TJ Luoma
4

Soy el autor de CoreLocationCLI, mencionado en los comentarios anteriores. Solo quería señalar que hemos trasladado el proyecto a esta ubicación:

https://github.com/fulldecent/corelocationcli

Además, ahora es compatible --oncesi solo está buscando una salida única, en lugar de una salida continua.

Por último, también hay un binario completo en la página del proyecto si prefiere no compilarlo usted mismo. Aún tendrá que autorizar ("¿Desea que esta aplicación pueda acceder a su ubicación") en la primera ejecución de la aplicación.

William Entriken
fuente