基于JavaScript实现根据手机定位获取当前具体位置(X省X市X县X街道X号)
废话不多说了,直接给大家贴js代码了。具体代码如下所示:
functionLocation(){}; Location.prototype.getLocation=function(callback){ varoptions={ enableHighAccuracy:true, maximumAge:1000 }; this.callback=Object.prototype.toString.call(callback)=="[objectFunction]"? callback: function(address){ alert(address.province+address.city); console.log("getocation(callbackFunction)可获得定位信息对象"); }; varself=this; if(navigator.geolocation){ //浏览器支持geolocation navigator.geolocation.getCurrentPosition(function(position){ //经度 varlongitude=position.coords.longitude; //纬度 varlatitude=position.coords.latitude; self.loadMapApi(longitude,latitude); },self.onError,options); }else{ //浏览器不支持geolocation } }; Location.prototype.loadMapApi=function(longitude,latitude){ varself=this; varoHead=document.getElementsByTagName('HEAD').item(0); varoScript=document.createElement("script"); oScript.type="text/javascript"; oScript.src="http://api.map.baidu.com/getscript?v=2.0&ak=A396783ee700cfdb9ba1df281ce36862&services=&t=20140930184510"; oHead.appendChild(oScript); oScript.onload=function(date){ varpoint=newBMap.Point(longitude,latitude); vargc=newBMap.Geocoder(); gc.getLocation(point,function(rs){ varaddComp=rs.addressComponents; self.callback(addComp); }); } }; Location.prototype.onError=function(error){ switch(error.code){ case1: alert("位置服务被拒绝"); break; case2: alert("暂时获取不到位置信息"); break; case3: alert("获取信息超时"); break; case4: alert("未知错误"); break; } }; //调用 varlocal=newLocation(); local.getLocation(function(res){ //此处就是返回的地理位置信息 console.log(res); })
以上内容是小逼给大家介绍的基于JavaScript实现根据手机定位获取当前具体位置(X省X市X县X街道X号),希望大家喜欢。