Android รับตำแหน่งที่หยาบอย่างไร


15

ฉันอ่านว่า android (และระบบปฏิบัติการ simmilar เช่น iOS) รับตำแหน่งที่หยาบในปัจจุบันโดยใช้ WiFi หรือ GSM triangulation ฉันได้รับแนวคิดพื้นฐาน แต่มีคำถามเกี่ยวกับรายละเอียด

  1. Android ใช้ทั้งสองวิธีหรือไม่หรือใช้วิธีใดวิธีหนึ่งแล้วถอยกลับไปใช้วิธีอื่น
  2. มันสื่อสารกับเซิร์ฟเวอร์เพื่อรับตำแหน่งผ่าน WiFi หรือไม่ (เช่นการส่ง SID ของ WiFis ไปยังเว็บเซอร์วิซ)
  3. มันสื่อสารกับผู้ให้บริการเพื่อรับตำแหน่งผ่านเสา GSM หรือทำสิ่งนี้บนอุปกรณ์หรือไม่

คำตอบ:


8

มันขึ้นอยู่กับนักพัฒนาว่าจะใช้บริการระบุตำแหน่งอย่างไร คำอธิบายแบบเต็มมีอยู่ที่นี่:

http://developer.android.com/guide/topics/location/obtaining-user-location.html

กราฟประมาณ 1 ใน 3 ของหน้าลงค่อนข้างมีประโยชน์มากในการดูว่าแอพทั่วไปอาจทำอะไร แต่อีกครั้งมันขึ้นอยู่กับผู้พัฒนาแอพอย่างสมบูรณ์ ประเภทบริการระบุตำแหน่งคือ:

  • Cached Fix
  • Cell-ID
  • อินเตอร์เน็ตไร้สาย
  • จีพีเอส
  • สถานที่จำลอง

หากแอปขออนุญาตสำหรับสถานที่หยาบเท่านั้นมันจะไม่ใช้ GPS เพื่อระบุตำแหน่ง

เพื่อตอบคำถามของคุณ ...

  1. มันขึ้นอยู่กับนักพัฒนาแอปแต่ละตัว แต่โดยส่วนใหญ่แล้วลำดับจะเป็น Cached Fix, Cell-ID, Wifi, GPS ตามลำดับ
  2. ใช่หลังจากได้รับรหัสประจำตัวทาวเวอร์หรือ SSID ของสัญญาณ WiFi แล้วข้อมูลนั้นจะถูกส่งไปยัง Google เพื่อระบุตำแหน่งคร่าวๆ
  3. ไม่ Google ทำสิ่งที่ฉลาดจริง ๆ ที่นี่ Google มีฐานข้อมูลสถานที่ตั้งเสาสัญญาณของตนเองและไม่จำเป็นต้องมีการโต้ตอบกับผู้ให้บริการเพื่อระบุตำแหน่งของหอคอย

บทความนี้มีรายละเอียดบางส่วนhttp://franciscokattan.com/2010/02/06/dynamic-cell-id-clever-way-to-block-google-but-will-it-backfire/

เวอร์ชันย่อคือเมื่อคุณใช้แอพเช่น Google Maps แอพจะส่งข้อมูล Cell-ID ปัจจุบันกลับไปพร้อมกับการแก้ไข GPS ปัจจุบันของคุณ ด้วยวิธีนี้ Google ได้รับการสุ่มตัวอย่างที่ดีมากของความแรงของสัญญาณในสถานที่ต่าง ๆ และสามารถสร้างฐานข้อมูลที่หลากหลาย


ฉันชอบคำตอบของคุณสวยมาก แต่ฉันไม่แน่ใจว่าสิทธิ์ของคุณในส่วน "มันขึ้นอยู่กับนักพัฒนา" ทั้งหมดหรือไม่ เท่าที่ฉันสามารถบอกได้ผู้พัฒนาสามารถตัดสินใจที่จะรับค่าปรับหรือสถานที่หยาบ กล่าวอีกนัยหนึ่งเขาสามารถใช้ LocationManager.NETWORK_PROVIDER และ / หรือ LocationManager.GPS_PROVIDER เพื่อรับตำแหน่ง ฉันคิดว่าเขาไม่สามารถตัดสินใจหรือเห็นว่าใช้ Wifi หรือ GSM ใช่ไหม
ทิมBüthe

ในกรณีที่พบบ่อยที่สุดนักพัฒนาจะไม่สนใจว่าข้อมูลมาจาก WiFi หรือ Cell-ID แต่ผู้พัฒนาสามารถ จำกัด การอนุญาตให้แอปทำงานได้เฉพาะเมื่อ WiFi ถูกปิดใช้งานหรือปิดใช้งาน GPRS / GSM ฉันเอาคำถามของคุณไปหมายความว่า: "มีลำดับมาตรฐานที่แอพทั้งหมดติดตาม" และคำตอบคือไม่ อย่างไรก็ตามด้วยความคำนึงถึงความแตกต่างระหว่าง WiFi และ Cell-ID โดยเฉพาะนักพัฒนาแอปมีความสามารถ จำกัด ในการขอบริการระบุตำแหน่งประเภทใดประเภทหนึ่งโดยเฉพาะ
JadeMason

1
คุณรู้วิธีส่งตำแหน่งฮอตสปอต Wi-Fi ไปยังฐานข้อมูลของพวกเขาหรือไม่เพื่อที่ฉันจะได้มีการวิเคราะห์ตำแหน่งที่ดีขึ้นในย่าน / บ้านของฉัน ผมได้เปิดกระทู้สำหรับ questione ของฉันที่: android.stackexchange.com/questions/4715/...
Özgür

3

สิ่งนี้เป็นเรื่องเฉพาะของผู้ให้บริการและฉันไม่ใช่ dev แต่นี่คือสิ่งที่ฉันสามารถรวบรวมเข้าด้วยกันจาก interwebs และการฝึกอบรมที่ฉันมีในการสืบสวนอาชญากรรมทางอิเล็กทรอนิกส์:

  1. ใช่ แต่ขึ้นอยู่กับลำดับความสำคัญของแอพ LBS ที่กำหนดโดย dev และสามารถขึ้นอยู่กับความแม่นยำของหลักสูตรปัจจุบันระดับพลังงานระดับความสำคัญที่กำหนดไว้ล่วงหน้า ...
  2. ใช่. ผู้ให้บริการมีฐานข้อมูลตำแหน่งสถานีฐาน Wifi ที่เป็นกรรมสิทธิ์
  3. ฉันไม่สามารถพูดกับ Android โดยเฉพาะได้ แต่โดยทั่วไปจะเป็นประเภทผู้ให้บริการและเครือข่าย (CDMA หรือ GSM) โทรศัพท์มีความสามารถทั้งสอง แต่อย่างน้อยไม่กี่ปีที่ผ่านมาพวกเขาทำงานบนมือถือนี้เนื่องจากข้อ จำกัด แบนด์วิดท์ของการทำมัน ota


0

โทรศัพท์ของคุณรู้ว่าหอคอยที่ใกล้ที่สุดคืออะไร มีฐานข้อมูลผู้ให้บริการสำหรับแต่ละประเทศที่รหัสทาวเวอร์ตั้งอยู่ที่ไหนบนแผนที่ ฐานข้อมูลนี้อาจมีขนาดเล็กพอที่จะติดตั้งล่วงหน้าโดยผู้ให้บริการของคุณหรือให้มาทางอากาศ โทรศัพท์ Android รับข้อมูลนี้อย่างไรฉันไม่รู้


-1

ฉันมีคำตอบที่แตกต่างกันเล็กน้อยสำหรับ # 3: สามารถใช้อุปกรณ์ได้หากคุณต้องการใช้การคำนวณแบบสามเหลี่ยม แต่คุณต้องใช้ผู้ให้บริการหากคุณต้องการจับคู่ Cell-ID และการแปลของ gsm (หรือ cdma) หอคอย


แต่นี่เป็นตัวเลือกที่ผู้พัฒนาแอพสามารถกำหนดหรือแม้แต่ผู้ใช้ปลายทางหรือเป็นสิ่งที่ผู้ให้บริการกำหนดขึ้น
แมตต์

มันเป็นสิ่งจำเป็นถ้าคุณต้องการใช้วิธีนี้ในการแปลอุปกรณ์ การใช้สมการหรือวิธีอื่นช่วยให้คุณทราบว่าคุณอยู่ที่ไหนกับตำแหน่งเสาอากาศ แต่ถ้าคุณไม่ทราบว่าละติจูด / ลองจิจูดของเสาอากาศคุณจะไม่สามารถรับตำแหน่งของคุณบนแผนที่ได้ ฉันกลับบ้านฉันชัดเจน :)
Rob

@ Rob แต่คุณไม่ต้องการให้ผู้ให้บริการค้นหาที่ตั้งของหอคอย หอคอยแต่ละหลังจะออกอากาศ ID ที่ไม่ซ้ำใครก็สามารถเลือกมันและแมปได้โดยอิสระโดยไม่มีการโต้ตอบของผู้ให้บริการ Google ได้ทำสิ่งนี้มาระยะหนึ่งแล้วสำหรับเสาเสาสัญญาณและจุดเชื่อมต่อ WiFi รถยนต์ของ Google Streetview รับข้อมูลในขณะที่เดินทางและผู้ใช้ Google แผนที่บนแพลตฟอร์มต่าง ๆ ยังส่งข้อมูลที่ไม่ระบุชื่อที่ตรงกับการแก้ไข GPS ด้วยเสาอากาศและรหัส WiFi และความแข็งแกร่ง ซึ่งคล้ายกับวิธีที่ Google รับข้อมูลการจราจรจำนวนมากในเมืองพวกเขารวมความเร็วและตำแหน่งจากผู้ใช้แผนที่จำนวนมาก
GAThrawn

คุณแน่ใจไหม ? ดูน่าแปลกใจ ตัวอย่างเช่นในเยอรมนี (และประเทศอื่น ๆ ในยุโรป) Google ถูกฟ้องร้องเพื่อรวบรวมข้อมูล wifi ดังนั้นดูเหมือนว่าพวกเขาไม่ได้ใช้ทรัพยากรนี้ สำหรับฐานข้อมูล GSM ถ้า Google เป็นเจ้าของมันควรจะสามารถเข้าถึงได้และฉันไม่เคยได้ยินเกี่ยวกับมัน
Rob

1
@Rob googlemobile.blogspot.com/2008/06/… "โทรศัพท์รู้ ID ของเสาสัญญาณโทรศัพท์มือถือที่ใช้งานอยู่ในปัจจุบันหากโทรศัพท์มี GPS แอปพลิเคชั่นแผนที่บนโทรศัพท์จะส่งพิกัด GPS พร้อมกับรหัสเซลล์ไปยัง เซิร์ฟเวอร์ตำแหน่งของ Google " ไม่สามารถหาลิงก์ได้ในขณะนี้ แต่พวกเขาประกาศเมื่อไม่นานมานี้ว่าแอป Blackberry Google Maps กำลังส่ง WiFi SSID ที่อยู่ใกล้เคียงและมีความแข็งแกร่งด้วยเหตุผลเดียวกัน สิ่งนี้ไม่เหมือนกับการเขียนโปรแกรม "ข้อผิดพลาด" ในซอฟต์แวร์ Streetview ที่พวกเขาถูกฟ้องร้องซึ่งจับข้อมูล WiFi มากกว่าที่ตั้งใจไว้
GAThrawn
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.