首页 >后端开发 >php教程 > 正文

php批量转换谷歌地图坐标为百度地图坐标_PHP教程

原创2016-07-13 17:53:200585
获取POI lat lon

大众点评网
1. if you find a shop, which has the following link
www.dianping.com/shop/3174400/
2. manually attache map to make the link looks like
www.dianping.com/shop/3174400/map
3. do a view source on that page
in the middle of the page, you will find something like
p: “HETHVFZVVJDHUD”
m: $(“ShopGMap”)
shopId: “3174400″
the p: number is the encoded Lat, lon value
following is the script to decode it


jquery test






以上是js 方式转换。
下面是php方式


#echo $位置.”\n”;
#echo $地图x轴.”\n”;
#echo $地图y轴.”\n”;

$db_host = “localhost”;//服务器
$db_user = “root”;//用户名
$db_psw = “123456″;//密码
$db_name = “dianping”;//数据库名
$connection = mysql_connect($db_host,$db_user,$db_psw) or die(“连接服务器失败”);
mysql_select_db($db_name,$connection) or die(“选择数据库失败”);

mysql_query(“set names’utf-8′”); //utf8

set_time_limit(0);//防止超时。

$querysql = “select * from dianping ” ; //
$queryresult = mysql_query($querysql) or die(“查询数据失败”);//执行查询

while($row = mysql_fetch_array($queryresult)){

$array = decode($row['map']);
$string = $array['0'].”,”.$array['1'];
echo $string.”
”;
$id = $row['id'];
$UpdateQuery = “update dianping set map = ‘$string’ where id = ‘$id’”;
$UpdateQueryResult = mysql_query($UpdateQuery) or die(“查询数据失败”); //执行查询
}

/*发现有时候坐标字符串会改变,但是转换出来的坐标不会变。
$poi = ‘IJJTHFZVITEBVS’;
$poi1 = ‘IJJTGDZVITEBVA’;
$poiss = decode($poi);
$poiss1 = decode($poi1);
print_r($poi).’
\n’;
print_r($poiss).’
\n’;
print_r($poi1).’
\n’;
print_r($poiss1);
*/
function decode($poi) {
$settings = array(
‘digi’=> 16,
‘add’=> 10,
‘plus’=> 7,
‘cha’=> 36,
‘center’=> array(
‘lat’=> 34.957995,
‘lng’=> 107.050781,
‘isDef’=> true
)
);
$i = -1;
$h = 0;
$b = “”;
$j = strlen($poi);
$g = ord($poi{$j-1});
$c = substr($poi, 0, $j-1);
$j–;

for($e=0; $e<$j; $e++) {
$d = base_convert($c{$e}, $settings['cha'], 10) – $settings['add'];
if ($d>=$settings['add']) {
$d = $d- $settings['plus'];
}

$b .= base_convert($d, 10, $settings['cha']);
if ($d>$h) {
$i = $e;
$h = $d;
}
}
$a = base_convert(substr($b, 0, $i), $settings['digi'], 10);
$f = base_convert(substr($b, $i+1), $settings['digi'], 10);
$l = ($a+$f – intval($g))/2;
$k = ($f – $l)/100000;
$l /= 100000;
$lat = $k;
$lng = $l;
return array($lng, $lat);
}

php批量转换谷歌地图坐标为百度地图坐标 - InSun - Minghacker is Insun

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/478032.htmlTechArticle获取POI lat lon 大众点评网 1. if you find a shop, which has the following link www.dianping.com/shop/3174400/ 2. manually attache map to make the link looks like www.dianping...

php中文网最新课程二维码

声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理

相关文章

相关视频


网友评论

文明上网理性发言,请遵守 新闻评论服务协议

我要评论
  • 专题推荐

    作者信息

    php中文网

    认证0级讲师

    推荐视频教程
  • javascript初级视频教程javascript初级视频教程
  • jquery 基础视频教程jquery 基础视频教程
  • 视频教程分类