使用PHP解析Googlemaps

使用PHP解析Googlemaps,php,regex,google-maps,google-maps-api-3,Php,Regex,Google Maps,Google Maps Api 3,我有一个网站,我从谷歌地图上截取屏幕来获取从一个点到另一个点的行驶距离。它没有被大量使用(每周最多20个请求),但谷歌最近的升级打破了这一功能 我曾经用过这个: $url = 'http://maps.google.com/maps?f=d&hl=en&saddr='.$start.'&daddr='.$finish.'&output=xml'; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL,$url); curl_setopt($ch, CU

我有一个网站,我从谷歌地图上截取屏幕来获取从一个点到另一个点的行驶距离。它没有被大量使用(每周最多20个请求),但谷歌最近的升级打破了这一功能

我曾经用过这个:

$url = 'http://maps.google.com/maps?f=d&hl=en&saddr='.$start.'&daddr='.$finish.'&output=xml';
$ch = curl_init(); curl_setopt($ch, CURLOPT_URL,$url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $data = curl_exec ($ch); if(preg_match('!(\d+).*?.*?(\d+)[^\d]*(\d*)!si', $data, $matches)) $url='1http://maps.google.com/maps?f=d&hl=en&saddr=“.$start.&daddr=”.$finish.&output=xml”
$ch=curl_init(); curl_setopt($ch,CURLOPT_URL,$URL); curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); $data=curl\u exec($ch); if(preg_match('!(\d+).*?(\d+[^\d]*(\d*)!si',$data,$matches))
它将返回行驶距离和总时间。谷歌地图的新版本打破了这一功能,我正试图找到一种处理新API的方法

您不需要筛选刮片。相反,请参见以下帖子:


这告诉我们如何使用API,刮取是违反服务条款的,您应该使用web服务方向API-

我最初确实尝试过,但在使用CURL获取KML输出时遇到了问题。我最终将应用程序切换到使用Bing地图,它可以与php_soap一起使用。