Tại sao Android có vấn đề như vậy khi nhớ vị trí cuối cùng?


12

Tôi chưa bao giờ có thể tìm ra cách thức mà Android nhớ vị trí cuối cùng của nó. Nếu dường như nhớ vị trí từ vài giờ trước nhưng không phải vài giây trước. Tôi nghĩ tốt nhất nên đưa ra một ví dụ về những gì tôi muốn nói.

Tôi gần đây đã ở Vùng Vịnh. Tôi đang sử dụng bản đồ Google trên Android của mình và tôi tình cờ ở quanh Khu học xá Google ở ​​Mountain View. Tôi đang sử dụng bản đồ có bật GPS và sau một thời gian tôi nhận được khóa GPS phù hợp mà tôi đã sử dụng để điều hướng xung quanh khu vực.

Khi tôi trở lại San Francisco sau đó, tôi đã sử dụng nó để đi vòng quanh thành phố. Mỗi lần tôi bật bản đồ, nó lại đặt vị trí của tôi ở chế độ xem Núi. Khoảng 10 giây sau khi nó có khóa GPS tôi đã có được vị trí thực sự của mình. Nếu tôi tắt điện thoại và bật lại vài giây sau thì điều tương tự cũng xảy ra - nó nghĩ rằng tôi đang ở một nơi nào đó tôi đã ở đó vài giờ trước và sau đó đá vào vị trí thực tế của tôi. Điều này xảy ra mọi lúc - nhớ nơi tôi ở cách đây vài giờ, không phải nơi tôi ở cách đây vài phút. Khi tôi đã ở quanh một khu vực trong một khoảng thời gian nhất định, giờ đây nó trở thành "địa điểm biết cuối cùng" mới.

Tại sao, một khi tôi nhận được khóa GPS chính xác, Android không đăng ký đây là "địa điểm được biết đến cuối cùng" thay vì một địa điểm trước đó?

Câu trả lời:


3

Không phải là một câu trả lời đầy đủ, nhưng một số thông tin cơ bản:

  • Thiết bị của bạn có thể có nhiều hơn 1 nhà cung cấp vị trí, ví dụ: một dựa trên GPS và một dựa trên tháp điện thoại di động nào có thể nhìn thấy.
  • Android không có một vị trí duy nhất được biết đến cuối cùng. Mỗi nhà cung cấp vị trí có vị trí cuối cùng được biết đến của mình.
  • Một vị trí có các số liệu bổ sung, như độ chính xác, khi được ghi lại, những gì được ghi lại (ví dụ: vị trí đó có thành phần độ cao, v.v.)

Vì vậy, nó phụ thuộc vào nhà cung cấp ứng dụng sử dụng vị trí nào và điều đó có thể phụ thuộc hoặc thậm chí thay đổi dựa trên các tham số động. Ví dụ: khi khởi động, nó có thể yêu cầu Android cung cấp vị trí nhanh nhất để chuyển sang vị trí chính xác nhất để dần dần có bản sửa lỗi tốt hơn.


Đây là một lời giải thích thực sự tốt, súc tích. Cảm ơn bạn.
Nick Dixon

Điều này cũng có ý nghĩa như khi tôi trở lại thành phố, tôi không có dữ liệu wifi / di động. Tại khuôn viên Google có wifi. Vì vậy, các bản đồ ban đầu phải được sử dụng định vị cuối cùng 'thô' (tức là wifi) (trong Google) và sau đó khi GPS khởi động trong vài giây sau đó, nó sẽ cập nhật. Tôi vẫn có thể nghĩ rằng việc định vị lại GPS sẽ là một cách đọc mới hơn / tốt hơn.
Tim

Câu trả lời này giống như một bình luận. và nếu vị trí thô có ít ưu tiên hơn, nó sẽ giải thích thậm chí ít hơn lý do tại sao điện thoại trở lại chế độ xem mnt sau này.
gcb

2

Theo hiểu biết của tôi, Android sử dụng các bản cập nhật vị trí loại thô và mịn và những bản cập nhật này cũng có thể có các số liệu chất lượng khác nhau. Có thể ứng dụng Google Maps không có tín hiệu GPS và Wifi đủ lâu tại địa điểm mới của bạn để có chất lượng đủ cao để trở thành địa điểm biết cuối cùng.

Các tài liệu phát triển tại dành cho http://developer.android.com/guide/topics/location/obtaining-user-location.html đưa ra một số mô hình ví dụ để có được vị trí của người dùng có thể hiểu rõ hơn về cách thức hoạt động của nó. Nhưng tôi sẽ đoán Google Maps, và có lẽ các bản đồ khác, làm việc của riêng họ.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.