【问题标题】:How to get bounding box for a location to use for Bing Traffic API如何获取用于 Bing Traffic API 的位置的边界框
【发布时间】:2017-04-09 10:29:18
【问题描述】:
我正在使用 Bings 交通 API 来获取某个位置的交通事件,例如,我想查看加利福尼亚州丹维尔的所有交通事件。然而,他们的 API 需要传递边界框才能获得我需要的信息。有没有办法根据城市/州或邮政编码等位置找到边界框?这是 url 调用。我更喜欢使用 PHP 的解决方案来获取边界框。
http://dev.virtualearth.net/REST/v1/Traffic/Incidents/37,-121,37,-121?key=mybingapicode
【问题讨论】:
标签:
bounding-box
bing-maps
【解决方案1】:
好的,看来我又找到了答案。我找了一个多小时才在这里发帖。但最终这里是解决方案。我需要一个 PHP 解决方案,它可以根据城市/州或邮政编码获取位置的边界框坐标。我发现了这个:
http://geocoder-php.org/Geocoder/
我创建的代码能够根据我所指的位置获取边界框。
$curl = new \Ivory\HttpAdapter\CurlHttpAdapter();
$geocoder = new \Geocoder\Provider\GoogleMaps($curl);
$boundry = $geocoder->geocode('Danville, CA')->get(0)->getBounds()->toArray();
$north = $boundry['north'];
$south = $boundry['south'];
$east = $boundry['east'];
$west = $boundry['west'];
我通过 composer 安装了这个并自动加载了这个类。这是我以前通过composer安装的:
composer require willdurand/geocoder
现在我可以动态生成带有边界框坐标的链接,而且效果非常棒!希望这可以帮助其他正在寻找易于使用的 PHP 解决方案从某个位置获取边界框的人,这个类还具有许多其他很棒的功能。