Чи є спосіб отримати доступ до геолокації Mac з терміналу?


46

Деякі програми GUI використовують служби локації OS X, але я хочу отримати фізичне розташування Mac з командного рядка . Це може бути корисно для запуску скриптів, перемикання налаштувань і т.д. Механізм повинен бути CoreLocation , а не сервіс Geo IP (дані занадто низького дозволу, потребує в інтернет - з'єднання).

Мінімальна вимога - вихід довготи та широти . Добре було б число, що вказує на точність. Супер приємно: геокодер, який надає назви місцезнаходження.


Будь ласка, не включайте відповіді безпосередньо у запитання, це, як правило, бентежить людей і ускладнює розуміння того, що таке питання насправді. Якщо ви хочете додати вибірковий зразок до різних пропонованих рішень, ви можете зробити це безпосередньо, відредагувавши відповіді.
nohillside

Відповіді:


31

vilmoskörte в відповідь , як видається , бути хорошим, але я взяв на себе , щоб зробити інструмент , який робить це для мого власного освіти. Я поклав це на GitHub.

Де я

Простий інструмент командного рядка. Немає варіантів, просто працює та виводить Lat / Long, точність у метрах та часову позначку. Потрібно буде ввімкнути Служби локації OS X (Налаштування системи> Безпека та конфіденційність) та дозвіл зібрати ваше місцезнаходження (OS X підкаже вас під час першого запуску).

Посилання для прямого завантаження (.zip)


Це чудово - бонус за простоту !!
myhd

посилання розірвано, підняли запит на потяг з rob
booyaa

@booyaa дякую за спонукання. Посилання порушилося деякий час тому, коли GitHub убив завантаження, і я заплутав свій обліковий запис. Зараз повернулося.
robmathers

13

Це вже запрограмовано, подивіться

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


дуже хороша. класний варіант:-g … Generate a Google Map URL
myhd

Автор програмного забезпечення вказав, що вони знають про проблеми з гірським левом, і переглянуть код, щоб побачити, чи є легке виправлення.
bmike

Це найкраща відповідь. Ви можете встановити, brew install locatemeі він працює на macOS Mojave.
mk12

8

Я автор LocateMe, і я щойно виявив, що мені потрібно скопіювати LocateMe в папку / Applications, щоб він працював у Mountain Lion. Я не впевнений, що мені доведеться зробити, щоб уникнути цього - напевно, щось про отримання сертифіката, чого я, швидше за все, не переслідую.

Тим часом для LocateMe та, ймовірно, інших, спробуйте скопіювати їх у / Applications та побачити, чи не пощастить вам.

-Роб


Я можу підтвердити, що це працює.
markhunte

5

Ці додатки повинні бути підписані сертифікатом розробника, щоб вони могли авторизуватися за допомогою сервісу Core Location. Якщо ви заглянете в Console.app, ви побачите невдалі спроби авторизації:

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 

Я використовував свій обліковий запис розробника, щоб створити і підписати нову бінарну версію . Після запуску програми Mountain Lion попросить вашого дозволу надати йому доступ до даних про місцезнаходження.


Це спрацювало для мене в Mac 10.8.2
TJ Luoma

4

Я автор CoreLocationCLI, згаданий у коментарях вище. Просто хотів зазначити, що ми перемістили проект у це місце:

https://github.com/fulldecent/corelocationcli

Крім того, він тепер підтримує, --onceякщо ви шукаєте лише один вихід, а не безперервний вихід.

Нарешті, на сторінці проекту також є повний двійковий файл, якщо ви бажаєте не складати його самостійно. Вам потрібно буде авторизувати ("Хочете, щоб ця програма мала доступ до вашого місцезнаходження") під час першого запуску програми.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.