在實(shí)際開(kāi)發(fā)中使用了百度地圖在小程序中,與PC端保持一致,API都是百度的,地圖底圖卻是騰訊地圖,這個(gè)有點(diǎn)坑。

微信小程序上地圖的顯示
最坑的是取到的經(jīng)緯度也是騰訊地圖的,好吧,手工校正
/**
*騰訊地圖轉(zhuǎn)百度地圖經(jīng)緯度
*/
qqMapTransBMap(lng, lat) {
let x_pi = 3.14159265358979324 * 3000.0 / 180.0;
let x = lng;
let y = lat;
let z = Math.sqrt(x * x + y * y) + 0.00002 * Math.sin(y * x_pi);
let theta = Math.atan2(y, x) + 0.000003 * Math.cos(x * x_pi);
let lngs = z * Math.cos(theta) + 0.0065;
let lats = z * Math.sin(theta) + 0.006;
return {
lng: lngs,
lat: lats
};
}
/*
* 百度轉(zhuǎn)騰訊
*/
bMapTransqqMap(lng, lat) {
let x_pi = (3.14159265358979324 * 3000.0) / 180.0;
let x = lng - 0.0065;
let y = lat - 0.006;
let z = Math.sqrt(x * x + y * y) - 0.00002 * Math.sin(y * x_pi);
let theta = Math.atan2(y, x) - 0.000003 * Math.cos(x * x_pi);
let lngs = z * Math.cos(theta);
let lats = z * Math.sin(theta);
return {
longitude: lngs,
latitude: lats
};
}
親測(cè),和百度坐標(biāo)拾取對(duì)比后,誤差不超過(guò)十米,已經(jīng)很準(zhǔn)了