我有lat和long坐标,我想将它们转换为google地图(或至少是最近的设施)上列出的设施名称或地名。 我不是想在地图上绘制任何东西,我只是在寻找设施名称。在下面最初发布的示例> Reverse Geocoding with Google Map API ifaour我正在使用它,它正在返回街道名称,我不知道如何返回地名。我已经尝试使用谷歌地图api的“前提”,但我不太熟悉sytnax,因为我是初学者。
<?php
$data = json_decode(file_get_contents("http://maps.googleapis.com/maps/api/geocode/json?latlng=43.97513954,-78.1601639&sensor=true&radius=300"));
if($data->status == "OK") {
if(count($data->results)) {
foreach($data->results[0]->address_components as $component) {
if(in_array("premise",$component->types) || in_array("colloquial_area",$component->types) || in_array("route",$component->types) || in_array("park",$component->types)) {
echo $component->long_name . "<br />";
}
}
}
} else {
// error
}
?>
我想让坐标回到“科堡社区中心”,但它会返回“D'Arcy Street”。
在300米范围内拉出最接近的名字会很棒。
谁能看到我哪里出错了?
答案 0 :(得分:0)
经过数小时的测试研究后发现,这段代码实际按预期工作。错误在于设施实际上并未被标记为&#34;前提&#34;由谷歌,这就是为什么名称不被退回。我用一个已知的Google&#34;前提&#34;测试了lat和long。它工作正常。谢谢你的所有建议。我现在需要根据谷歌地图发布一个新问题&#34;附近&#34;功能