Heim >Backend-Entwicklung >PHP-Tutorial >php批量转换谷歌地图坐标为百度地图坐标_PHP教程

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

WBOY
WBOYOriginal
2016-07-13 17:53:201510Durchsuche

获取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 $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...
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn