百度地图获取定位
最近刚做一个功能,通过百度API获取用户坐标地址,特此小记一笔。
需要先引入JS
下面的代码是获取定位:
var geolocation = new BMap.Geolocation();
geolocation.getCurrentPosition(function (r)
{
if (this.getStatus() == BMAP_STATUS_SUCCESS)
{
var mk = new BMap.Marker(r.point);
map.addOverlay(mk);
map.panTo(r.point);
//;
$("#latitude").val(r.point.lat);
$("#longitude").val(r.point.lng);
getCityName(r.point.lng, r.point.lat, "success");
}
else
{
getCityName(r.point.lng, r.point.lat, "error");
$("#longitude").val("117.12485");
$("#latitude").val("36.659614");
}
}, (function (err)
{
//用户拒绝了定位
getCityName(r.point.lng, r.point.lat, "error");
}
),
{
enableHighAccuracy : true
}
)
}
下面的代码是获取当前定位所在的省市县:
function getCityName(lng, lat)
{
var point = new BMap.Point(lng, lat);
var gc = new BMap.Geocoder();
gc.getLocation(point, function (rs)
{
var addComp = rs.addressComponents;
$("#cityName").val(addComp.province + "" + addComp.city + "" + addComp.district);
//;
}
);
}
以上.