似乎无法让这个解析器适用于谷歌地图,我认为它是因为没有xml扩展名?它适用于我制作的xml文件,但是当我使用google xml时,它似乎不想抓住它。
<?php
$address = 'edgemont dr wyoming, MI';
$address = rawurlencode ($address);
$url = 'http://maps.google.com/maps/api/geocode/xml?address=' . $address . '&sensor=false';
$link = '<a href="' . $url . '">' . $url . '</a>';
echo $link;
$xml = simplexml_load_file($url);
// get Latitude from XML
$lat=$xml->GeocodeResponse->result->geometry->location->lat;
echo $lat;
?>
答案 0 :(得分:0)
你可以改变这个:
// get Latitude from XML
$lat=$xml->GeocodeResponse->result->geometry->location->lat;
echo $lat;
到这个
// get Latitude from XML
$lat=$xml->result->geometry->location->lat;
echo $lat;
答案 1 :(得分:-1)
通常,Google API需要API密钥。我没有看到您将此添加到您的请求中。当我手动构建你的api电话并将其发送到我的浏览器时,我得到:http://maps.google.com/maps/api/geocode/xml?address=edgemont%20dr%20wyoming%2C%20MI并且谷歌返回“请求被拒绝”。
您可以go here获取Google Maps API密钥。也就是说,那里有许多其他地理编码器。有些需要某种类型的注册和/或付款,而有些则不需要。
here是“Free GeoCoder服务”的谷歌