Czy istnieje sposób na dostęp do geolokalizacji komputera Mac z terminala?


46

Niektóre aplikacje GUI korzystają z usług lokalizacji OS X, ale chcę pobrać fizyczną lokalizację komputera Mac z wiersza polecenia . Może to być przydatne do uruchamiania skryptów, przełączania ustawień itp. Mechanizmem powinna być CoreLocation , a nie usługa Geo IP (dane zbyt niskiej rozdzielczości, wymagają połączenia online).

Minimalne wymagania to dane dotyczące długości i szerokości geograficznej . Nice byłaby liczbą wskazującą precyzję. Super fajnie: geokoder, który zapewnia nazwy lokalizacji.


Proszę nie umieszczać odpowiedzi bezpośrednio w pytaniu, ma to tendencję do dezorientowania ludzi i utrudnia zrozumienie, o co w rzeczywistości chodzi. Jeśli chcesz dodać przykładowy wynik do różnych oferowanych rozwiązań, możesz to zrobić bezpośrednio, edytując odpowiedzi.
nohillside

Odpowiedzi:


31

Odpowiedź vilmoskörte wydaje się być dobra, ale wziąłem na siebie pomysł stworzenia narzędzia, które robi to dla mojej własnej edukacji. Położyłem to na GitHub.

Gdzie ja jestem

Proste narzędzie wiersza poleceń. Brak opcji, po prostu uruchamia i generuje parametry Lat / Long, dokładność w metrach i znacznik czasu. Będzie wymagał włączenia usług lokalizacyjnych OS X (Preferencje systemowe> Bezpieczeństwo i prywatność) oraz zgody na zebranie Twojej lokalizacji (OS X wyświetli monit przy pierwszym uruchomieniu).

Bezpośredni link do pobrania (.zip)


To świetnie - premia za prostotę !!
myhd

link jest zepsuty, zgłoszono prośbę o ściągnięcie z rob
booyaa

@booyaa dzięki za podpowiedzi. Link zepsuł się jakiś czas temu, gdy GitHub zabił pobieranie plików i zepsułem swoje konto. Teraz wrócił.
robmathers


8

Jestem autorem LocateMe i właśnie odkryłem, że muszę skopiować LocateMe do folderu / Applications, aby działał w Mountain Lion. Nie jestem pewien, co musiałbym zrobić, aby tego uniknąć - prawdopodobnie coś o zdobyciu certyfikatu, czego prawdopodobnie nie zamierzam w najbliższym czasie szukać.

W międzyczasie, dla LocateMe i prawdopodobnie innych, spróbuj skopiować je do / Aplikacje i sprawdź, czy masz więcej szczęścia.

-Obrabować


Mogę potwierdzić, że działa.
markhunte

5

Te aplikacje muszą zostać podpisane certyfikatem programisty, zanim będą mogły autoryzować się w usłudze Core Location. Jeśli spojrzysz na Console.app, zobaczysz nieudane próby autoryzacji:

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 

Użyłem mojego konta programisty do zbudowania i podpisania nowego pliku binarnego whereami . Po uruchomieniu Mountain Lion poprosi o pozwolenie na dostęp do danych o lokalizacji.


Działa to dla mnie świetnie w Mac 10.8.2
TJ Luoma

4

Jestem autorem CoreLocationCLI, wspomnianym w komentarzach powyżej. Chciałem tylko zauważyć, że przenieśliśmy projekt do tej lokalizacji:

https://github.com/fulldecent/corelocationcli

Ponadto obsługuje teraz, --oncejeśli szukasz tylko jednego wyjścia, a nie ciągłego wyjścia.

Na koniec na stronie projektu znajduje się również pełny plik binarny, jeśli nie chcesz go samodzielnie kompilować. Nadal będziesz musiał autoryzować („Czy chcesz, aby ta aplikacja miała dostęp do Twojej lokalizacji”) przy pierwszym uruchomieniu aplikacji.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.