Home  >  Article  >  Backend Development  >  PHP batch conversion of Google map coordinates to Baidu map coordinates_PHP tutorial

PHP batch conversion of Google map coordinates to Baidu map coordinates_PHP tutorial

WBOY
WBOYOriginal
2016-07-13 17:53:201482browse

获取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("Query data failed"); //Execute query
}

/* Found that sometimes the coordinate string will change, but the converted coordinates will not change.
$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.htmlTechArticleGet POI lat lon Dianping.com 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...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn