function getLocation(){
var options={
enableHighAccuracy:true,
maximumAge:1000
}
if(navigator.geolocation){
//浏览器支持geolocation
navigator.geolocation.getCurrentPosition(onSuccess,onError,options);
}else{
//浏览器不支持geolocation
}
}
//成功时
function onSuccess(position){
//返回用户位置
//经度
var longitude =position.coords.longitude;
//纬度
var latitude = position.coords.latitude;
//得到经纬度就可以去通过百度or高德地图api获取城市地址
}
//失败时
function onError(error){
switch(error.code){
case 1:
alert("位置服务被拒绝");
break;
case 2:
alert("暂时获取不到位置信息");
break;
case 3:
alert("获取信息超时");
break;
case 4:
alert("未知错误");
break;
}
}
window.onload=getLocation;
高德地图和百度地图都提供Javascript API, 去申请一下, 然后集成进去即可
简单一点的可以通过访客的ip地址查询所在地,稍微复杂的可以通过获取地理位置权限获取所在地