Apakah ada cara untuk mengakses geolokasi Mac dari terminal?

46

Beberapa aplikasi GUI menggunakan layanan lokasi OS X, tetapi saya ingin mengambil lokasi fisik Mac dari baris perintah . Ini bisa berguna untuk menjalankan skrip, berpindah pengaturan, dll. Mekanismenya harus CoreLocation , bukan layanan Geo IP (data terlalu rendah, perlu koneksi online).

Persyaratan minimum adalah output garis bujur dan lintang . Nice akan menjadi angka yang menunjukkan presisi. Sangat bagus: geocoder yang menyediakan nama lokasi.

myhd
sumber
Jangan tidak termasuk jawaban langsung dalam pertanyaan, cenderung membingungkan orang dan membuatnya agak sulit untuk memahami apa pertanyaannya sebenarnya. Jika Anda ingin menambahkan sampel output ke berbagai solusi yang ditawarkan, Anda dapat melakukannya langsung dengan mengedit jawabannya.
nohillside

Jawaban:

31

vilmoskörte ini jawaban tampaknya menjadi salah satu yang baik, tapi saya mengambil itu atas diri untuk membuat alat yang melakukan ini untuk pendidikan saya sendiri. Saya menaruhnya di GitHub.

Dimana saya

Alat baris perintah sederhana. Tidak ada opsi, cukup jalankan dan keluaran Lat / Panjang, akurasi dalam meter, dan cap waktu. Ini akan membutuhkan Layanan Lokasi OS X untuk dinyalakan (System Preferences> Security & Privacy), dan izin untuk mengumpulkan lokasi Anda (OS X akan meminta Anda menjalankan pertama kali).

Tautan Unduhan Langsung (.zip)

perampok
sumber
Itu hebat - bonus untuk kesederhanaan !!
myhd
tautan rusak, mengangkat permintaan tarik dengan rob
booyaa
@ booyaa terima kasih atas bisikannya. Tautan rusak beberapa saat yang lalu ketika GitHub membunuh unduhan dan saya mengacaukan akun saya. Sudah kembali sekarang.
Robmathers
13

Ini sudah diprogram, lihatlah

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

vilmoskörte
sumber
sangat bagus. opsi keren:-g … Generate a Google Map URL
myhd
Penulis perangkat lunak telah mengindikasikan bahwa mereka mengetahui masalah Mountain Lion dan akan memeriksa kode untuk melihat apakah perbaikan mudah tersedia.
bmike
Ini jawaban terbaik. Anda dapat menginstal dengan brew install locatemedan berfungsi di macOS Mojave.
mk12
8

Saya penulis LocateMe, dan saya baru tahu bahwa saya harus menyalin LocateMe ke folder / Aplikasi agar dapat berfungsi di Mountain Lion. Saya tidak yakin apa yang harus saya lakukan untuk menghindarinya - mungkin sesuatu tentang mendapatkan sertifikat, yang kemungkinan besar tidak akan saya kejar dalam waktu dekat.

Sementara itu, untuk LocateMe dan mungkin yang lainnya, coba salin ke / Aplikasi dan lihat apakah Anda beruntung.

-Rampok

lebih keras
sumber
Saya dapat mengkonfirmasi bahwa itu berhasil.
markhunte
5

Aplikasi tersebut harus ditandatangani dengan sertifikat pengembang sebelum dapat diotorisasi dengan layanan Lokasi Inti. Jika Anda melihat di Console.app Anda dapat melihat upaya gagal untuk mengotorisasi:

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 

Saya telah menggunakan akun pengembang saya untuk membuat dan menandatangani binari whereami baru . Setelah Anda menjalankannya, Mountain Lion akan meminta izin Anda untuk mengaktifkannya untuk mengakses data lokasi.

paulgrav
sumber
Ini bekerja sangat baik untuk saya di Mac 10.8.2
TJ Luoma
4

Saya penulis CoreLocationCLI, yang disebutkan dalam komentar di atas. Hanya ingin mencatat bahwa kami telah memindahkan proyek ke lokasi ini:

https://github.com/fulldecent/corelocationcli

Selain itu, sekarang mendukung --oncejika Anda hanya mencari output tunggal, bukan output kontinu.

Terakhir, ada biner penuh pada halaman proyek juga jika Anda lebih suka tidak mengkompilasinya sendiri. Anda masih perlu mengotorisasi ("Apakah Anda ingin aplikasi ini dapat mengakses lokasi Anda") pada aplikasi pertama yang dijalankan.

William Entriken
sumber