基于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号),希望大家喜欢。