1、通過以下代碼 獲取經緯度
getlocationpoint()
function getlocationpoint() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(
function (position) {
latitude = position.coords.latitude; //獲取緯度
longitude = position.coords.longitude; //獲取經度
alert(latitude)
});
} else {
alert("不支持定位功能");
}
}
2、方法1有一個弊端:ios下需要訪問https域名下的網址纔可以生效。
因此如果項目是運行在微信瀏覽器中,那麼可以直接接入微信sdk,調用微信自帶的過去經緯度方法,並通過百度地圖的api進行將經緯度轉爲真是座標
wx.ready(function () {
wx.getLocation({
type: 'wgs84', // 默認爲wgs84的gps座標,如果要返回直接給openLocation用的火星座標,可傳入'gcj02'
success: function (res) {
var latitude = res.latitude; // 緯度,浮點數,範圍爲90 ~ -90
var longitude = res.longitude; // 經度,浮點數,範圍爲180 ~ -180。
// 不準確的經緯度
setCookie("lngHome1", longitude)
setCookie("latHome1", latitude)
var speed = res.speed; // 速度,以米/每秒計
var accuracy = res.accuracy; // 位置精度
var point = new BMap.Point(getCookie("lngHome1"), getCookie("latHome1"))
translateCallback = function (point) {
// setCookie("lngHome", point.lng)
// setCookie("latHome", point.lat)
// 定位的經緯度
setCookie("Locallng", point.lng)
setCookie("Locallat", point.lat)
}
setTimeout(function () {
BMap.Convertor.translate(point, 0, translateCallback); //真實經緯度轉成百度座標
}, 100);
setInterval(function () {
var geoc = new BMap.Geocoder();
var ggPoint = new BMap.Point(getCookie("lngHome1"), getCookie("latHome1"))
var pt = ggPoint;
geoc.getLocation(pt, function (rs) {
var addComp = rs.addressComponents;
// setCookie("cityHome", addComp.city)
setCookie("LocalCity", addComp.city)
setCookie("provinceHome", addComp.province)
});
}, 100)
}
});
});