Làm cách nào để Google tính toán vị trí của tôi trên máy tính để bàn?


107

Đúng là điều này khiến tôi khá bối rối, tôi không chắc liệu có ai trong số các bạn đã chú ý hoặc sử dụng tính năng "vị trí của tôi" trên google maps bằng máy tính để bàn của bạn (hoặc không có GPS / không có thiết bị di động nào). Nếu bạn có trình duyệt với google gears (dễ sử dụng nhất là Google Chrome) thì bạn sẽ có một vòng tròn màu xanh lam phía trên chức năng thu phóng trong Google Maps, khi được nhấp vào (mà không cần đăng nhập vào Tài khoản Google của tôi) bằng Wi Fi tiêu chuẩn cho cá nhân của tôi bộ định tuyến và kết nối internet bình thường với ISP của tôi, bằng cách nào đó nó quản lý để xác định vị trí chính xác của tôi với độ chính xác 100% (tại thời điểm này).

Nó làm điều đó như thế nào? họ breifly đề cập đến nó ở đây nhưng nó không hoàn toàn giải thích nó, nó nói rằng trình duyệt của tôi biết tôi đang ở đâu ...

... tôi bối rối, làm thế nào?

Tôi bị hấp dẫn bởi vì tôi muốn tích hợp nó trong tương lai của các dự án lập trình của mình, giống như một số hiểu biết cơ bản và nó có vẻ không được ghi chép quá đầy đủ vào lúc này.


1
"bản sao" câu hỏi siêu người dùng của tôi superuser.com/questions/12495/how-does-google-my-location-work
Stefano Borini

Họ tìm thấy vị trí chính xác của ngôi nhà của tôi. Nó khá là đáng chú ý.
Ben Shelock

1
@ badbod99 - tôi chắc chắn họ cũng có thể tìm thấy nó theo những cách khác: P @Stefano - bạn vẫn chưa có câu trả lời và tôi nghĩ đây là vấn đề liên quan đến lập trình do đó stackoverflow @ben - chính xác!
Shadi Almosri

Câu trả lời:


91

Tôi hiện đang ở Tokyo, và tôi đã từng ở Thụy Sĩ. Tuy nhiên, vị trí của tôi cho đến vài ngày trước không được xác định chính xác, ngoại trừ ở khu vực Tokyo rộng lớn. Hôm nay tôi đã thử và có vẻ như tôi đang ở Thụy Sĩ. Làm sao?

Bí mật là giờ đây tôi đã kết nối qua mạng không dây và bộ định tuyến không dây của tôi đã được xác định (nhờ sự liên kết với các wif khác xung quanh tôi vào thời điểm đó) trong một khu vực rất chính xác ở Thụy Sĩ. Bây giờ, wifi của tôi đã chuyển đến Tokyo, nhưng hệ thống truy vấn vẫn cho rằng bộ định tuyến wifi đang ở Thụy Sĩ, vì nó không có thông tin về wifis bổ sung xung quanh tôi ngay bây giờ hoặc nó không thể phân loại thông tin xung đột (cụ thể là thông tin cụ thể về bộ định tuyến wifi của tôi so với vị trí địa lý ip của tôi, định vị chính xác của tôi ở vùng viễn đông).

Vì vậy, để trả lời câu hỏi của bạn, google hoặc ai đó cho anh ta, đã "kiểm tra" xung quanh, lập bản đồ sự hiện diện của wifi. Mỗi khi một truy vấn được thực hiện đối với hệ thống (có thể tuân theo dự thảo W3C cho API vị trí địa lý ), máy tính của bạn sẽ gửi mã nhận dạng wifi mà nó nhìn thấy và hệ thống thực hiện hai việc:

  1. truy vấn cơ sở dữ liệu của nó nếu vị trí địa lý tồn tại cho một số wifis mà bạn đã vượt qua và trả về vị trí "wardrived" nếu được tìm thấy, cuối cùng với tam giác nếu có cường độ. Càng nhiều mạng wifi xung quanh thì độ chính xác của định vị càng cao.
  2. thêm các mạng bổ sung mà bạn thấy hiện không có trong cơ sở dữ liệu vào cơ sở dữ liệu của họ để chúng có thể được sử dụng lại sau này.

Như bạn thấy, hệ thống tự xây dựng. Điều duy nhất bạn cần là gieo hạt tốt. Sau đó, nó mở rộng trong "50 mét khối" (phạm vi kết nối wifi mới được tìm thấy).

Tất nhiên, nếu bạn thực sự muốn hệ thống hoạt động hiệu quả, bạn có thể bắt đầu trao đổi bộ định tuyến wifi trên toàn cầu với những nhà cách mạng đồng nghiệp của phong trào không định vị toàn cầu.


Bạn đã đăng bản chỉnh sửa cho bài đăng của mình khi tôi đang viết câu trả lời của mình :)
Shadi Almosri

Nó dường như biết tôi đang ở đâu trong nhà với độ chính xác cao, mặc dù tôi không có thiết bị / thẻ giao tiếp không dây nào được kết nối với hệ thống của mình.
Henry

2
Tất cả có vẻ tốt và tốt. Nhưng máy tính để bàn của tôi không có bất kỳ hình thức không dây nào? Tuy nhiên khi tôi vào google maps. Nó biết chính xác tôi đang ở đâu. Và nếu tôi đi và thử theo dõi IP của mình hoặc sử dụng các vị trí trình duyệt khác xa nơi mà bản đồ google cho biết tôi đang ở? Nó hoạt động như thế nào?
Zapnologica

8
@Zapnologica Đây là một câu hỏi thực sự hay, "Làm cách nào để Google maps biết được vị trí của tôi từ máy tính để bàn mà không cần lắp đặt card mạng không dây?". Bằng cách tự mình kiểm tra điều này, tôi thấy rằng nó chỉ biết vị trí của tôi, khi tôi đăng nhập bằng tài khoản Google của mình. Khi tôi sử dụng một trình duyệt khác không được đăng nhập bằng tài khoản Google của mình, vị trí của tôi sẽ ở thành phố lớn gần nhất (vị trí địa lý IP). Tôi tin rằng google sử dụng điện thoại thông minh Android của tôi để chia sẻ vị trí thực của tôi, với bản đồ google trên máy tính để bàn.
Kim K.

Lời giải thích tuyệt vời!
Ramashish Baranwal

11

Nó đơn giản hơn rất nhiều mà bạn nghĩ. Bạn đã đăng nhập vào cả thiết bị di động và Chrome trên máy tính để bàn của mình bằng cùng một tài khoản Google. Google chỉ mong rằng bạn sẽ luôn mang theo điện thoại di động của mình. Họ lấy dữ liệu vị trí từ điện thoại của bạn và cho rằng vị trí của phiên máy tính để bàn hiện tại của bạn là giống nhau.

Tôi đã chứng minh điều này bằng cách RDPing vào máy tính Windows của mình ở nhà từ nơi làm việc và kiểm tra bản đồ Google từ xa. Nó hiển thị vị trí của tôi giống như Chrome trên Linux tại nơi làm việc.

Nếu bạn không có điện thoại di động đăng nhập vào Google thì tất cả những gì họ có thể làm là tra cứu dữ liệu GeoIP cho địa chỉ IP do ISP của bạn chỉ định. Nó thường không chính xác.


2
Cảm ơn vì đã chia sẻ thử nghiệm của bạn với chúng tôi. đó là một cấp độ câu trả lời mới.
M lúc

ĐÓ LÀ TỔNG SỐ PHIẾU HỌC TẬP !! GPS điện thoại của tôi bị tắt mọi lúc. Không kết nối với wifi. Làm cách nào để họ có được vị trí chính xác điện thoại của tôi? Cant. Vì vậy, giả thuyết của bạn là sai. Kết nối với VPN rồi vào google và xem, bạn không di chuyển mà sẽ hiển thị vị trí khác. Tôi cho rằng ISP làm rò rỉ dữ liệu về địa chỉ của khách hàng và IP của họ cho Google. VẬY như mọi khi khách hàng đang được bán.
Tommix

Tommix Tôi nghĩ bạn đã xem quá nhiều CSI. Dữ liệu GeoIP không đủ chi tiết. Nó là độ chính xác tốt nhất ở cấp quốc gia hoặc cấp tiểu bang. Như một ví dụ, cơ sở dữ liệu MaxMind GeoIP2 City được sử dụng rộng rãi phân giải chính xác 58% địa chỉ IP cho thành phố chính xác (nhớ thành phố, không phải đường phố hoặc số đường phố) trong Hoa Kỳ. Ở bán kính 50 km, điều này cải thiện đến 87%.
Bruce

10

Họ sử dụng kết hợp định vị địa lý IP, cũng như so sánh kết quả quét các mạng không dây lân cận với cơ sở dữ liệu ở phía họ (được xây dựng bằng cách thu thập tọa độ GPS cùng với dữ liệu quét wifi khi người dùng điện thoại Android sử dụng GPS của họ)


Ok, hãy giả sử họ nhận được vị trí địa lý ip của tôi đến London, tôi không thực sự hiểu phần tiếp theo? Làm thế nào họ quét những gì không dây ở gần tôi, làm thế nào để họ biết "gần tôi" ở đâu? Bộ định tuyến WiFi của tôi là của tôi và không cho phép bất kỳ ai khác truy cập, vì vậy họ không thể biết về nó hoặc sử dụng nó.
Shadi Almosri

1
xem nhận xét của tôi bên dưới: họ chạy mã máy khách (trong Chrome, v.v.), vì vậy google không truy cập vào bộ định tuyến của bạn, nhưng trình duyệt máy khách có thể truy cập thẻ không dây của bạn và xác định mạng không dây nào ở gần đó.
pxb

Vậy làm cách nào để google biết được SSID của wifi là ở đâu? Tôi có SSID "suckMyBalls" làm sao họ biết vị trí của SuckMyBalls? Nếu dựa trên các ssid WIFI khác - làm thế nào họ có được vị trí của họ? Câu trả lời rất dễ dàng - ISP bán dữ liệu vị trí và IP của khách hàng cho google.
Tommix

7

Cuối cùng thì tôi cũng đã giải quyết được. Vấn đề lớn nhất là làm thế nào họ quản lý để tìm ra mạng Không dây xung quanh tôi và làm thế nào để họ biết các mạng này ở đâu.

Nó "có vẻ như" là một cái gì đó tương tự như thế này:

  1. skyhookwireless.com [hoặc tương tự] Công ty đã lập bản đồ vị trí của nhiều điểm truy cập không dây, tôi giả định bằng cách tương tự rằng google streetview đã đi vòng quanh và chọn tất cả các bức ảnh.
  2. Sử dụng Google gears và trình duyệt của tôi, chúng tôi có thể báo cáo mạng không dây nào tôi thấy và có xung quanh tôi
  3. So sánh các điểm không dây này với vị trí địa lý của chúng và xác định vị trí của tôi.

Tham khảo: Slashdot


Không có lý thuyết này là SAI. Không ai lập bản đồ không có gì. ISP bán ip và địa chỉ của bạn cho google.
Tommix


1

Từ chối ý tưởng mạng WiFi!

Xin lỗi mọi người ... tôi không thấy nó. Sử dụng mạng WiFi xung quanh bạn dường như là một phương pháp thu thập dữ liệu không chính xác và không hiệu quả. Mạng WiFi ngày nay chỉ đơn giản là không ở lâu ở một nơi.

Hãy nghĩ về nó, mạng WiFi thay đổi hàng ngày. Chưa kể các mạng MiFi và Adhoc được "thiết kế" để di động và đồng hành cùng người dùng. Thiết bị hỏng, thay đổi cài đặt mạng, mọi người di chuyển ... Việc dựa vào "Mạng WiFi" trong khu vực của bạn có vẻ không chính xác cao và cuối cùng thậm chí có thể không mang lại cải thiện đáng kể về mức độ chi tiết so với tra cứu IP.

Tôi nghĩ rằng ý tưởng rằng người dùng iPhone đang "quét và gửi" dữ liệu khảo sát WiFi trở lại google và việc phân loại, có lẽ kết hợp với bản đồ "Chế độ xem phố" của Google Maps có vẻ như là một phương pháp rất khả thi để thu thập dữ liệu này, tuy nhiên, trong thực tế, nó không hoạt động như một mô hình kinh doanh.

Ồ và btw, tôi đã quên đề cập trong bài viết trước của mình ... khi tôi kéo vị trí của mình ban đầu vào thời điểm tôi được xác định chính xác "chính xác" trên bản đồ tôi đang kết nối với bộ định tuyến từ máy tính để bàn của mình qua kết nối ethernet. Tôi không có thẻ WiFi trên máy tính để bàn của mình.

Vì vậy, nếu lý thuyết "các mạng WiFi lân cận" là đúng ... thì lẽ ra tôi đã không thể xác định vị trí của mình với độ chính xác như vậy.

Tôi sẽ gọi cho ISP của tôi, SKyrim, và hỏi họ xem liệu họ có chia sẻ cấu trúc liên kết mạng để kích hoạt định vị địa lý trên mạng của họ hay không.


1
coderrr.wordpress.com/2008/09/10/… bạn đã được kết nối bằng ethernet, nhưng đó là với bộ định tuyến không dây?
Shadi Almosri

Có hay không việc thu thập dữ liệu vị trí làm việc như một mô hình kinh doanh, Google làm nó - googleblog.blogspot.com/2009/08/...
Dan Dascalescu

0

Tôi biết bạn có thể tra cứu địa chỉ IP để biết vị trí gần đúng, nhưng không phải lúc nào nó cũng chính xác. Có lẽ họ đang sử dụng nó?

cập nhật:

Thông thường, trình duyệt của bạn sử dụng thông tin về các điểm truy cập Wi-Fi xung quanh bạn để ước tính vị trí của bạn. Nếu không có điểm truy cập Wi-Fi nào trong phạm vi phủ sóng hoặc máy tính của bạn không có Wi-Fi, bạn có thể sử dụng địa chỉ IP của máy tính để có được vị trí gần đúng.


1
Điều đó quá dễ dàng và không đủ chính xác. Tối đa bạn có thể ánh xạ nó đến sàn giao dịch gần nhất, không phải điểm chính xác của tôi.
Shadi Almosri

vâng, đôi khi nó không chính xác chút nào. Chúng tôi thấy như ở Glasgow mặc dù chúng tôi hàng trăm dặm ở London.
pxb

Về bản cập nhật - Làm thế nào nó biết những điểm truy cập WiFi xung quanh tôi? : P
Shadi Almosri

1
Trích dẫn là từ liên kết bạn đã cung cấp. Tôi giả sử trình duyệt (và nó phải là trình duyệt được hỗ trợ, vì vậy chắc chắn có mã ứng dụng khách cụ thể để điều này hoạt động), có thể nhận thông tin từ Hệ điều hành trên các điểm truy cập Wifi mà PC của bạn có thể nhìn thấy (ngay cả khi nó không được kết nối với chúng), và sử dụng máy chủ để tra cứu thông tin về chúng nhằm xác định vị trí của chúng. Sau đó, bạn có thể hình tam giác để tính toán vị trí của máy tính?
pxb

IP được gán cho ISP. để NOBODY có thể biết chính xác IP và vị trí. NGOẠI TRỪ ISP. ISP bán dữ liệu cá nhân dữ liệu của bạn cho google, v.v.
Tommix

0

Có thể xác định vị trí gần đúng của bạn dựa trên địa chỉ IP của bạn (không dây hoặc cố định).

Xem ví dụ: hostip.info hoặc maxmind về cơ bản cung cấp ánh xạ từ địa chỉ IP đến tọa độ địa lý. Có thể sử dụng nhiều loại kinh nghiệm và nguồn dữ liệu. Loại hệ thống này có thể có đủ độ chính xác để đưa bạn đến đúng thành phố lớn, trong hầu hết các trường hợp.

Google có thể sử dụng cách tiếp cận tương tự ngoài các thủ thuật WiFi.


1
IP vị trí đã được biết đến trong một thời gian, và nó khá dễ dàng để làm việc ra để cấp thành phố, đó là độ chính xác của vị trí đó câu hỏi này đã được quan tâm ...
Shadi Almosri
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.