มีวิธีการเข้าถึงตำแหน่งทางภูมิศาสตร์ของ Mac จาก terminal หรือไม่?


46

บางแอพพลิเค GUI ใช้บริการสถานที่ตั้ง OS X แต่ฉันต้องการที่จะดึงตำแหน่งทางกายภาพของ Mac จากบรรทัดคำสั่ง สิ่งนี้อาจเป็นประโยชน์สำหรับการเรียกใช้สคริปต์การสลับการตั้งค่าเป็นต้นกลไกควรเป็นCoreLocationไม่ใช่บริการ Geo IP (ข้อมูลมีความละเอียดต่ำเกินไปต้องใช้การเชื่อมต่อออนไลน์)

ความต้องการขั้นต่ำคือการส่งออกของลองจิจูดและละติจูด Nice จะเป็นตัวเลขที่แสดงถึงความแม่นยำ สุดยอดมาก: geocoder ที่ให้ชื่อที่ตั้ง


กรุณาทำไม่ได้รวมถึงคำตอบโดยตรงในคำถามก็มีแนวโน้มที่จะสร้างความสับสนให้ผู้คนและทำให้มันค่อนข้างยากที่จะเข้าใจในสิ่งที่เป็นคำถามที่เป็นจริง หากคุณต้องการเพิ่มตัวอย่างผลลัพธ์ไปยังโซลูชันที่แตกต่างกันคุณสามารถทำได้โดยตรงโดยแก้ไขคำตอบ
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

ผู้เขียนซอฟต์แวร์ระบุว่าพวกเขาตระหนักถึงปัญหาของ Mountain Lion และจะตรวจสอบรหัสเพื่อดูว่ามีวิธีแก้ไขที่ง่ายหรือไม่
bmike

นี่คือคำตอบที่ดีที่สุด คุณสามารถติดตั้งbrew install locatemeและทำงานบน macOS Mojave
mk12

8

ฉันเป็นผู้เขียน LocateMe และฉันเพิ่งค้นพบว่าฉันต้องคัดลอก LocateMe ลงในโฟลเดอร์ / Applications เพื่อให้สามารถใช้งานได้ใน Mountain Lion ฉันไม่แน่ใจว่าฉันต้องทำอะไรเพื่อหลีกเลี่ยงสิ่งนั้น - อาจเป็นเรื่องเกี่ยวกับการขอใบรับรองซึ่งฉันไม่น่าจะติดตามได้ตลอดเวลาเร็ว ๆ นี้

ในระหว่างนี้สำหรับ LocateMe และคนอื่น ๆ อาจลองคัดลอกไปยัง / Applications และดูว่าคุณมีโชคดีขึ้นหรือไม่

-ปล้น


ฉันสามารถยืนยันได้ว่าได้ผล
markhunte

5

แอพเหล่านั้นจะต้องลงชื่อด้วยใบรับรองผู้พัฒนาก่อนจึงจะสามารถอนุญาตกับบริการตำแหน่งหลัก หากคุณดูใน 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หากคุณกำลังมองหาเอาต์พุตเดียวแทนที่จะเป็นเอาต์พุตต่อเนื่อง

ท้ายสุดมีไบนารี่เต็มรูปแบบในหน้าโครงการเช่นกันหากคุณไม่ต้องการรวบรวมด้วยตนเอง คุณยังจะต้องอนุญาต ("คุณต้องการให้แอปนี้สามารถเข้าถึงตำแหน่งของคุณ") ในการเรียกใช้แอปครั้งแรก

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.