在我的应用程序中需要使用特定坐标(13.094119,80.198606)找到道路类型,即National Highway,By Pass Road。
我尝试使用Google Place服务和地理编码来查找特定的坐标位置详细信息,但很多时候它无法帮助我找到道路类型。
https://developers.google.com/places/web-service/
https://developers.google.com/maps/documentation/javascript/examples/geocoding-reverse
https://developers.google.com/maps/documentation/roads/speed-limits
$httpRequest = curl_init();
curl_setopt($httpRequest, CURLOPT_HTTPHEADER, array("Content-Type: application/json"));
curl_setopt($httpRequest, CURLOPT_URL, "https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=13.099765,%2080.162110&radius=500&type=Road&key=YOUR_KEY");
$result = curl_exec($httpRequest);
curl_close($httpRequest);
$result = json_decode($result,true);
foreach ($result['results'] as $key => $value) {
if(strpos($value['vicinity'],'High Road')!== false || strpos($value['vicinity'],'NH Road')!== false || strpos($value['vicinity'],'National Road')!== false){
echo $value['vicinity'];
}
}
答案 0 :(得分:0)
目前,Google Maps API不会在其回复中公开此类信息。您可以在Google问题跟踪器中看到以下功能请求
我相信这些功能请求可能对您有意义。请随意为他们表达您的兴趣。
<强>更新强>
作为一种解决方法,尝试使用Roads API的对齐方式作为坐标:
https://roads.googleapis.com/v1/snapToRoads?path=13.094119%2C%2080.198606&key=YOUR_API_KEY
这将提供以下回复
{
"snappedPoints":[
{
"location":{
"latitude":13.094118495151756,
"longitude":80.19856816820958
},
"originalIndex":0,
"placeId":"ChIJ0dPfJw5kUjoR1sQRTkRxOIg"
}
]
}
通过此回复,您可以获得道路ChIJ0dPfJw5kUjoR1sQRTkRxOIg
的地点ID。现在将此地点ID与地理编码服务一起使用,该服务至少为您提供道路名称:
https://maps.googleapis.com/maps/api/geocode/json?place_id=ChIJ0dPfJw5kUjoR1sQRTkRxOIg&key=YOUR_API_KEY
Geocoder工具中的结果相同:
希望道路名称“Grand Northern Trunk Road”能够暗示它的类型。