location.js 938 B

123456789101112131415161718192021222324252627282930313233343536
  1. /**
  2. * 腾讯经纬度转百度地图经纬度
  3. * @param {Object} lng
  4. * @param {Object} lat
  5. */
  6. export function qqMapTransBMap(lng, lat) {
  7. let x_pi = (3.14159265358979324 * 3000.0) / 180.0
  8. let x = lng
  9. let y = lat
  10. let z = Math.sqrt(x * x + y * y) + 0.00002 * Math.sin(y * x_pi)
  11. let theta = Math.atan2(y, x) + 0.000003 * Math.cos(x * x_pi)
  12. let lngs = z * Math.cos(theta) + 0.0065
  13. let lats = z * Math.sin(theta) + 0.006
  14. return {
  15. lng: lngs,
  16. lat: lats,
  17. }
  18. }
  19. /**
  20. * 百度地图经纬度转腾讯地图经纬度
  21. * @param {Object} lng
  22. * @param {Object} lat
  23. */
  24. export function bMapTransQQMap(lng, lat) {
  25. let x_pi = (3.14159265358979324 * 3000.0) / 180.0
  26. let x = lng - 0.0065
  27. let y = lat - 0.006
  28. let z = Math.sqrt(x * x + y * y) - 0.00002 * Math.sin(y * x_pi)
  29. let theta = Math.atan2(y, x) - 0.000003 * Math.cos(x * x_pi)
  30. let lngs = z * Math.cos(theta)
  31. let lats = z * Math.sin(theta)
  32. return {
  33. lng: lngs,
  34. lat: lats,
  35. }
  36. }