获取地理位置的html5代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88 |
/** * 以下为html5代码,获取地理位置 */ function
getLocation() { //检查浏览器是否支持地理位置获取 if
(navigator.geolocation) { //若支持地理位置获取,成功调用showPosition(),失败调用showError // alert("正在努力获取位置..."); var
config = { enableHighAccuracy: true , timeout: 5000, maximumAge: 30000 }; navigator.geolocation.getCurrentPosition(showPosition, showError, config); } else
{ //alert("Geolocation is not supported by this browser."); alert( "定位失败,用户已禁用位置获取权限" ); } } /** * 获取地址位置成功 */ function
showPosition(position) { //获得经度纬度 var
x = position.coords.latitude; var
y = position.coords.longitude; //配置Baidu Geocoding API "&callback=renderReverse"
+ "&location="
+ x + ","
+ y + "&output=json"
+ "&pois=0" ; $.ajax({ type: "GET" , dataType: "jsonp" , url: url, success: function
(json) { if
(json == null
|| typeof
(json) == "undefined" ) { return ; } if
(json.status != "0" ) { return ; } setAddress(json.result.addressComponent); }, error: function
(XMLHttpRequest, textStatus, errorThrown) { alert( "[x:"
+ x + ",y:"
+ y + "]地址位置获取失败,请手动选择地址" ); } }); } /** * 获取地址位置失败[暂不处理] */ function
showError(error) { switch
(error.code) { case
error.PERMISSION_DENIED: alert( "定位失败,用户拒绝请求地理定位" ); //x.innerHTML = "User denied the request for Geolocation.[用户拒绝请求地理定位]" break ; case
error.POSITION_UNAVAILABLE: alert( "定位失败,位置信息是不可用" ); //x.innerHTML = "Location information is unavailable.[位置信息是不可用]" break ; case
error.TIMEOUT: alert( "定位失败,请求获取用户位置超时" ); //x.innerHTML = "The request to get user location timed out.[请求获取用户位置超时]" break ; case
error.UNKNOWN_ERROR: alert( "定位失败,定位系统失效" ); //x.innerHTML = "An unknown error occurred.[未知错误]" break ; } } /** * 设置地址 */ function
setAddress(json) { var
position = document.getElementById( "txtPosition" ); //省 var
province = json.province; //市 var
city = json.city; //区 var
district = json.district; province = province.replace( ‘市‘ , ‘‘ ); position.value = province + ","
+ city + ","
+ district; position.style.color = ‘black‘ ; } |
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。