不少時候要定位到當前所在的位置,谷歌地圖 API 沒找到,而後網上搜的是經過原生js geolocation來實現的。javascript
代碼以下:html
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <div id="demo"></div> </head> <body> <script type="text/javascript"> var x=document.getElementById("demo"); getLocation(); function getLocation() { if (navigator.geolocation) { navigator.geolocation.getCurrentPosition(showPosition); } else{x.innerHTML="Geolocation is not supported by this browser.";} } function showPosition(position) { var lng = position.coords.longitude; var lat = position.coords.latitude; var site = lat.toFixed(6)+','+lng.toFixed(6); console.log(site) document.getElementById("demo").innerHTML = site; } </script> </body> </html>
當發現能實現以後,確實是心裏特別欣喜。然而,放到服務器端,就會有警告提示: getCurrentPosition() and watchPosition() are deprecated on insecure origins. To use this feature, you should consider switching your application to a secure origin, such as HTTPS. See https://goo.gl/rStTGz for more details.
java
翻譯一下,大體意思以下:getCurrentPosition()
和 watchPosition()
這兩個方法在不安全的環境下不建議使用,在之後的規範可能不會支持。你應該考慮appliaction
的安全性,好比使用https。詳細狀況請看https://goo.gl/rStTGzgit
由於獲取位置信息,以及監控位置的變化這些操做都屬於敏感性操做,因此browsers
在執行都會很是謹慎。它須要你在安全的環境而且獲取用戶的贊成纔會執行。因此,用https
協議 會正常顯示的。安全
谷歌了很久,貌似都是這個意思,若是你們有其它辦法,還望賜教。O(∩_∩)O~服務器