76d878e166ec2325c1fc295fea41e366dd4bce33.svn-base 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. /**
  2. * 墨卡托转经纬度
  3. * @param poi 墨卡托
  4. * @returns {{}}
  5. * @private
  6. */
  7. export function _getLngLat(poi){
  8. var lnglat = {};
  9. lnglat.lng = poi.x/20037508.34*180;
  10. var mmy = poi.y/20037508.34*180;
  11. lnglat.lat = 180/Math.PI*(2*Math.atan(Math.exp(mmy*Math.PI/180))-Math.PI/2);
  12. return lnglat;
  13. }
  14. export function _getLng(x){
  15. var lng;
  16. lng = x/20037508.34*180;
  17. return lng;
  18. }
  19. export function _getLat(y){
  20. var lat;
  21. var mmy = y/20037508.34*180;
  22. lat = 180/Math.PI*(2*Math.atan(Math.exp(mmy*Math.PI/180))-Math.PI/2);
  23. return lat;
  24. }
  25. /**
  26. * 经纬度转墨卡托
  27. * @param poi 经纬度
  28. * @returns {{}}
  29. * @private
  30. */
  31. export function _getMercator(poi) {//[114.32894, 30.585748]
  32. var mercator = {};
  33. var earthRad = 6378137.0;
  34. // console.log("mercator-poi",poi);
  35. mercator.x = poi.lng * Math.PI / 180 * earthRad;
  36. var a = poi.lat * Math.PI / 180;
  37. mercator.y = earthRad / 2 * Math.log((1.0 + Math.sin(a)) / (1.0 - Math.sin(a)));
  38. // console.log("mercator",mercator);
  39. return mercator; //[12727039.383734727, 3579066.6894065146]
  40. }