<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html lang="en"> <head> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>demo</title> </head> <body> </body> </html> <script src="http://api.map.baidu.com/api?v=1.4" type="text/javascript"></script> <script type="text/javascript"> function getLocation() { var options = { enableHighAccuracy: true, maximumAge: 1000 } alert('this is getLocation()'); if (navigator.geolocation) { //瀏覽器支持geolocation navigator.geolocation.getCurrentPosition(onSuccess, onError, options); } else { //瀏覽器不支持geolocation alert('您的瀏覽器不支持地理位置定位'); } } //成功時 function onSuccess(position) { console.log(position); //返回用戶位置 //經度 var longitude = position.coords.longitude; //緯度 var latitude = position.coords.latitude; alert('當前地址的經緯度:經度' + longitude + ',緯度' + latitude); //根據經緯度獲取地理位置,不太准確,獲取城市區域還是可以的 var map = new BMap.Map("allmap"); var point = new BMap.Point(longitude, latitude); var gc = new BMap.Geocoder(); gc.getLocation(point, function (rs) { var addComp = rs.addressComponents; alert(addComp.province + ", " + addComp.city + ", " + addComp.district + ", " + addComp.street + ", " + addComp.streetNumber); }); // 這里后面可以寫你的后續操作了 console.log(longitude, latitude); } //失敗時 function onError(error) { switch (error.code) { case 1: alert("位置服務被拒絕"); break; case 2: alert("暫時獲取不到位置信息"); break; case 3: alert("獲取信息超時"); break; case 4: alert("未知錯誤"); break; } // 這里后面可以寫你的后續操作了 // //經度 // var longitude = 23.1823780000; // //緯度 // var latitude = 113.4233310000; console.log(longitude, latitude); } // 頁面載入時請求獲取當前地理位置 window.onload = function () { // html5獲取地理位置 getLocation(); }; </script> <!-- 參考 --> <!-- https://www.ucloud.cn/yun/21235.html -->
在谷歌瀏覽器好像失敗,在蘋果電腦瀏覽器是可以的,手機自帶gps,是沒問題的