获取地理位置怎么操作

发布于2022-01-13 17:04:09
1个回答
admin
网友回答2022-01-13
代码如下:<br><br>/** <br>* 以下为html5代码,获取地理位置 <br>*/ <br>function getLocation() { <br>//检查浏览器是否支持地理位置获取 <br>if (navigator.geolocation) { <br>//若支持地理位置获取,成功调用showPosition(),失败调用showError <br>// alert(&quot;正在努力获取位置...&quot;); <br>var config = { enableHighAccuracy: true, timeout: 5000, maximumAge: 30000 }; <br>navigator.geolocation.getCurrentPosition(showPosition, showError, config); <br>} else { <br>//alert(&quot;Geolocation is not supported by this browser.&quot;); <br>alert(&quot;定位失败,用户已禁用位置获取权限&quot;); <br>} <br>} <br>/** <br>* 获取地址位置成功 <br>*/ <br>function showPosition(position) { <br>//获得经度纬度 <br>var x = position.coords.latitude; <br>var y = position.coords.longitude; <br>//配置Baidu Geocoding API <br>var url = &quot;&quot; + <br>&quot;&amp;callback=renderReverse&quot; + <br>&quot;&amp;location=&quot; + x + &quot;,&quot; + y + <br>&quot;&amp;output=json&quot; + <br>&quot;&amp;pois=0&quot;; <br>$.ajax({ <br>type: &quot;GET&quot;, <br>dataType: &quot;jsonp&quot;, <br>url: url, <br>success: function (json) { <br>if (json == null || typeof (json) == &quot;undefined&quot;) { <br>return; <br>} <br>if (json.status != &quot;0&quot;) { <br>return; <br>} <br>setAddress(json.result.addressComponent); <br>}, <br>error: function (XMLHttpRequest, textStatus, errorThrown) { <br>alert(&quot;[x:&quot; + x + &quot;,y:&quot; + y + &quot;]地址位置获取失败,请手动选择地址&quot;); <br>} <br>}); <br>} <br>/** <br>* 获取地址位置失败[暂不处理] <br>*/ <br>function showError(error) { <br>switch (error.code) { <br>case error.PERMISSION_DENIED: <br>alert(&quot;定位失败,用户拒绝请求地理定位&quot;); <br>//x.innerHTML = &quot;User denied the request for Geolocation.[用户拒绝请求地理定位]&quot; <br>break; <br>case error.POSITION_UNAVAILABLE: <br>alert(&quot;定位失败,位置信息是不可用&quot;); <br>//x.innerHTML = &quot;Location information is unavailable.[位置信息是不可用]&quot; <br>break; <br>case error.TIMEOUT: <br>alert(&quot;定位失败,请求获取用户位置超时&quot;); <br>//x.innerHTML = &quot;The request to get user location timed out.[请求获取用户位置超时]&quot; <br>break; <br>case error.UNKNOWN_ERROR: <br>alert(&quot;定位失败,定位系统失效&quot;); <br>//x.innerHTML = &quot;An unknown error occurred.[未知错误]&quot; <br>break; <br>} <br>} <br>/** <br>* 设置地址 <br>*/ <br>function setAddress(json) { <br>var position = document.getElementById(&quot;txtPosition&quot;); <br>//省 <br>var province = json.province; <br>//市 <br>var city = json.city; <br>//区 <br>var district = json.district; <br>province = province.replace('市', ''); <br>position.value = province + &quot;,&quot; + city + &quot;,&quot; + district; <br>position.style.color = 'black'; <br>}

回到
顶部