zoukankan      html  css  js  c++  java
  • php 腾讯地图和百度地图的相互转换

    关于百度和腾讯地图坐标转换的问题,网上大多给的是JS实现的,而JS又是异步实现的,无法返回值,在有些应用场景下不好使用,这里我从腾讯论坛上找到了一个PHP转换的方法,贴出来分享给大家。经测试十分有效!

    /** 
    * 中国正常GCJ02坐标---->百度地图BD09坐标 
    * 腾讯地图用的也是GCJ02坐标 
    * @param double $lat 纬度 
    * @param double $lng 经度 
    */  
    function Convert_GCJ02_To_BD09($lat,$lng){  
            $x_pi = 3.14159265358979324 * 3000.0 / 180.0;  
            $x = $lng;  
            $y = $lat;  
            $z =sqrt($x * $x + $y * $y) + 0.00002 * sin($y * $x_pi);  
            $theta = atan2($y, $x) + 0.000003 * cos($x * $x_pi);  
            $lng = $z * cos($theta) + 0.0065;  
            $lat = $z * sin($theta) + 0.006;  
            return array('lng'=>$lng,'lat'=>$lat);  
    }  
      
    /** 
    * 百度地图BD09坐标---->中国正常GCJ02坐标 
    * 腾讯地图用的也是GCJ02坐标 
    * @param double $lat 纬度 
    * @param double $lng 经度 
    * @return array(); 
    */  
    function Convert_BD09_To_GCJ02($lat,$lng){  
            $x_pi = 3.14159265358979324 * 3000.0 / 180.0;  
            $x = $lng - 0.0065;  
            $y = $lat - 0.006;  
            $z = sqrt($x * $x + $y * $y) - 0.00002 * sin($y * $x_pi);  
            $theta = atan2($y, $x) - 0.000003 * cos($x * $x_pi);  
            $lng = $z * cos($theta);  
            $lat = $z * sin($theta);  
            return array('lng'=>$lng,'lat'=>$lat);  
    }  
  • 相关阅读:
    Kattis
    Kattis
    Kattis
    HackerRank
    HackerRank
    Kattis
    Wannafly交流赛1_B_硬币【数学】
    Wannafly交流赛1 _A_有理数 【水】
    HDU 1501 Zipper 【DFS+剪枝】
    HDOJ 1501 Zipper 【简单DP】
  • 原文地址:https://www.cnblogs.com/zc290987034/p/8287717.html
Copyright © 2011-2022 走看看