Google 地圖如何得知桌機所在的GPS地理位置

這是在無意中發現的...

先說Google地圖如何取得GPS地理座標位置的吧。

底下是一般上網的模式:


從我們桌上型PC到Google地圖的方法,透過我們的住戶的網路提供者,接駁到中華電信,然後再透過中華電信的機房,連接到海底電纜,一直連.....,直到Google的伺服器上。

當然,連接到Google伺服器的經過路徑沒那麼少,圖案只是用來簡化說明而已。實際上,網路封包它會經過許許多多的線路和路由器。

然後,Google的伺服器會嘗試從網路的末端,也就是最接近你的PC端的任何裝置上獲取GPS的地理位置訊息。

然而,大家都知道,桌上型PC不會裝載GPS接收器,當然我們家中的路由裝置(分享器、社區網路路由器、第四台業者,ISP.....)也都不會有裝載GPS定位點囉。

但是,有一種路由器的地點一定會有GPS定位點的,那就是負責聯接海外線路骨幹的總機房,它一定會有這個GPS的訊號,因為網際網路上就是利用這個來是別是哪個國家/地區負責的網路。

然後,Google地圖會把你的封包來源搭配這個路徑上最後一個GPS定位點,識別出你的電腦位置。

所以,當你第一次在某個地方,申請網路後,只用一台PC,連上網路,打開Google地圖,點一下畫面右下方的小圓點『我的位置』時,你會發現定位點跑到了桃園龜山這個地方,當然你會想:我又不在那地方,為什麼Google地圖會說我在那裏呢?

這就是原因了。

再來,神奇的是,當你有手機時,情況就不一樣了。

眾所周知,現在的智慧手機(幾乎)都有GPS/AGPS,取得定位資訊,然後,把家裡的網路用無線AP分享給手機上網。



此時,如果手機連上了Google地圖,該網路的末端GPS訊號,就會被更新成為最新的地理位置。此時,如果在PC上重新開啟Google地圖瀏覽,然後再按一下右下方『我的位置』,很神奇的,你就會發現PC的定位點變成了你所在的位置,而且位置還蠻準的呦。

PC版上Google地圖右下角的小圓點上面的說明就會變成『根據你的手機定位紀錄』。

留言

這個網誌中的熱門文章

【研究】列印的條碼為什麼很難刷(掃描)

C# 使用 Process.Start 執行外部程式

統一發票列印小程式