ホームページ >バックエンド開発 >PHPチュートリアル >PHP Tencent 地図の経度と緯度を Baidu 地図の経度と緯度に変換する

PHP Tencent 地図の経度と緯度を Baidu 地図の経度と緯度に変換する

WBOY
WBOYオリジナル
2016-07-25 08:42:331793ブラウズ
    /**
  1. * 中国の通常の GCJ02 座標---->Baidu Map BD09 座標
  2. * Tencent Maps も GCJ02 座標を使用します
  3. * @param double $lat latitude
  4. * @param double $lng longitude
  5. */
  6. function Convert_GCJ02_To_BD09($lat,$lng){
  7. $x_pi = 3.14159265358979324 * 3000 $$0 / $y =
  8. ; z =sqrt($x * $x + $y; * $y) + 0.00002 * sin($y * $x_pi);
  9. $theta = atan2($y, $x) + 0.000003 * cos($x * $x_pi) ;
  10. $lng = $z * cos($ theta) + 0.0065;
  11. $lat = $z * sin($theta) + 0.006;
  12. return array('lng'=>$lng,'lat'=> $lat);
  13. }
  14. /**
  15. * Baidu Map BD09 座標 ---->中国の通常の GCJ02 座標
  16. * Tencent Maps も GCJ02 座標を使用します
  17. * @param double $lat latitude
  18. * @param double $lng longitude
  19. * @return array();
  20. */
  21. function Convert_BD09_To_GCJ02($lat,$lng){
  22. $x_pi = 3.14159265358979324 * 3000.0 / 180.0;
  23. $x = $lng - 0.0065;
  24. $y = $lat - 0.006;
  25. $z = ( $x * $x + $y * $y) - 0.00002 * sin($y * $x_pi);
  26. $theta = atan2($y, $x) - 0.000003 * cos($x * $x_pi);
  27. $ lng = $z * cos($theta);
  28. $lat = $z * sin($theta);
  29. return array('lng'=>$lng,'lat '=>$lat);
  30. }
PHP
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。