Existe-t-il un moyen d'accéder aux services de localisation OS X à partir de la ligne de commande?

9

J'aimerais pouvoir récupérer l'estimation actuelle de l'emplacement d'OS X à partir de la ligne de commande afin de pouvoir créer un script en fonction de cela. Existe-t-il un outil qui fait cela?

J'ai trouvé des applications comme des emplacements qui vous permettent de déclencher des actions en fonction de l'emplacement, mais je n'ai rien trouvé qui vous permette de récupérer les données de localisation réelles.

britt
la source

Réponses:

3

Je le cherchais aussi, et je n'ai pas réussi à en trouver un ... Alors, j'en ai écrit un!

C'est assez simple pour le moment, mais cela semble fonctionner fondamentalement. Je l'ai appelé get-location , et vous pouvez l'obtenir depuis github (suivez le lien ci-dessus).

Pour l'instant, je viens d'imprimer le deuxième emplacement que je reçois du service (je saute le premier, car il peut être mis en cache et ancien - dans une future version, ce sera peut-être configurable, ou c'est un hack facile (changez le hitscochez pour être > 0, au lieu de > 1) dans le code, si vous ne voulez pas attendre cela (je peux ou ne pas le changer bientôt).

Quoi qu'il en soit, il imprime ensuite les résultats, comme ça (note: les données de localisation ici ont été changées en quelque chose de composé):

$ ./get-location
Final location: <+12.34567890, +12.34567890> +/- 176.00m (speed 0.00 mps / course -1.00) @ 2012-04-10 13:57:53 +0200

Un autre élément TODO consiste à ajouter d'autres formats et / ou à vous laisser spécifier le vôtre. Je peux l'ajouter bientôt ou je pourrai l'ajouter plus tard. Ou: Envoyez-moi une demande de pull. :) (Les demandes de fonctionnalités et les rapports de bugs sont également les bienvenus, de préférence via le système github. Consultez également le fichier README sur github pour voir ce à quoi j'ai déjà pensé.)

J'espère que vous (et d'autres) trouvez cela utile.

EDIT : Maintenant avec des options de ligne de commande et quelques formats de sortie différents.

lindes
la source
2

Eh bien, je ne l'ai pas fait fonctionner ... Mais http://code.google.com/p/corelocationcli/ pourrait résoudre votre problème ....

Cela semble également être un package plus stable? http://iharder.sourceforge.net/current/macosx/locateme/

(Le problème que j'ai avec les deux, peut-être parce que j'essaie ces derniers sur Mountain Lion ....)

Bien qu'ils ne soient pas intégrés, ils semblent tous deux utiliser les services CoreLocation ....

Benjamin Schollnick
la source
Les deux solutions semblent rompues sur Mountain Lion. Avez-vous réussi à le faire fonctionner d'une manière ou d'une autre ou avez-vous trouvé autre chose qui fonctionnait sur OS X 10.8? Je suis sûr que je ne suis pas le seul intéressé par ça ... merci!
myhd
Je ne l'ai vraiment pas gâché pour le moment. Tout en étant soigné, je cherchais vraiment un code de type Find My iPhone pour les portables.
Benjamin Schollnick
1
Merci, je suis l'auteur de CoreLocationCLI et je note juste qu'il est déplacé vers github.com/fulldecent/corelocationcli et a des améliorations mineures depuis lors
William Entriken
LocateMe fonctionne pour moi sur OS X El Capitan (10.11.6). Merci pour le lien!
Noah Sussman
0

Voici

lynx -dump http://www.ip-adress.com/ip_tracer/?QRY=$1|sed -nr s/'^.*My IP address city: (.+)$/\1/p'

besoin de lynx

la source

Tuan Anh Tran
la source
1
Nota bene: Ce n'est pas la même chose. Potentiellement utile, mais pas la même chose. En particulier, cela nécessite d'avoir un accès complet à Internet, alors que CoreServices, je crois, peut fonctionner sans cela, tant que le wifi est activé. Et de toute façon, même si je me trompe, il utilise la localisation basée sur WIFI (et toute autre chose que CoreLocation pourrait utiliser, maintenant ou à l'avenir), plutôt que simplement l'adresse IP, qui est potentiellement beaucoup plus précise. (Voir, par exemple, ici .)
lindes