如何使用Google Maps API Route计算每个国家/地区的距离

矿根

例如,我有一个从波兰华沙到德国柏林的简单车程现在,我可以计算所有路线的距离(572公里)。如何计算每个国家/地区的距离?德国〜100公里,波兰〜472公里。

我尝试使用start_location中的每个来检测国家边界DirectionsLeglegs[]通过检测国家名称start_location例如:

getCountry(legs[0]) => 'pl'
getCountry(legs[1]) => 'pl'
getCountry(legs[2]) => 'pl'
//border detected
getCountry(legs[3]) => 'de'
getCountry(legs[4]) => 'de'

可以,但是如果route这么“大”,请getCountry()返回OVER_QUERY_LIMIT

更新

感谢Dr.Molle的帮助!

工作提琴警告:代码可以正常运行,但是尚未优化。小心点!

PS对不起我的英语

莫勒博士

您将需要一种方法来避免要求每个步骤来检测国家的方法。

有一个FusionTable,其中包含国家/地区的边界:https : //www.google.com/fusiontables/data? docid=16CTzhDWVwwqa0e5xe4dRxQ9yoyE1hVt_3ekDFQ#map:id =3

可能的工作流程:

  1. 请求受路线影响的国家/地区的几何图形。直接使用路径在这里行不通,因为网址太长,因此请根据路线范围过滤结果(返回的结果可能比受影响的国家还多,但没有其他选择)

    华沙-柏林路线的示例查询为:

    SELECT sovereignt,json_4326 
    FROM 16CTzhDWVwwqa0e5xe4dRxQ9yoyE1hVt_3ekDFQ 
    WHERE ST_INTERSECTS(kml_4326,
                        RECTANGLE(LATLNG(51.88951,13.38593),
                                  LATLNG(52.52003,21.01219))) 
    

    此查询中使用的RECTANGLE将基于bounds给定路由-property创建索取样品:http : //jsfiddle.net/doktormolle/vexqe0ps/

  2. 根据返回的几何图形,为每个国家/地区创建一个多边形数组(它们不得可见)。

  3. 循环遍历路线的各个步骤,并针对每个步骤遍历多边形数组。使用google.maps.geometry.poly.containsLocation(),以检查是否start_(或结束_)位置被放置在当前多边形内。启用后,将当前步距增加到当前国家/地区的距离。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用API V3在每个页面上显示多个Google Maps

在Google Maps Places API中限制基于特定国家/地区的搜索

使用Google Maps API的可点击的国家

如何从Google Maps API获取国家/地区?

我如何使用Google API查找所选国家/地区的地址

Google Maps API区域参数未从文本搜索查询的格式化地址参数中省略国家/地区名称

我正在使用Bing maps API进行自动填充,我只想限制用户位置(国家/地区)的搜索

与Google Cloud Maps Directions API取得距离

Google Maps GeoCode API返回NO_RESULTS以通过PostalCode进行搜索,而未指定区域/国家/地区

Google Maps API-地理编码国家/地区,然后在单击时放大至国家/地区范围

无法使用Google Maps API v3计算道路距离

如何通过向Google Maps API提供城市来查找相应的国家和地区

使用Google Maps API自动完成国家/地区列表

使用php的Google Maps Api

使用Google Maps API计算两个地址之间的距离

Google Maps API正确的国家/地区名称列表

Google Maps API计算路线时间

如何计算Google Maps Places API的配额?

Google Maps API中的英格兰地区

使用Graphhopper获取每个国家/地区的距离

Google Maps API距离矩阵请求

Google Maps API计算错误

php-使用Google Maps API获取两点之间的行驶距离并计算时间

Google Maps与国家/地区的差异

Google Maps Places API-如何在多个结果上使用Google Maps搜索框获取国家/地区,邮政编码,数字,网站URL

使用 Google Maps API 延迟每个请求的 Ajax 函数

Google Maps API 中的距离单位

如何使用@react-google-maps/api 在 ReactJS 中使用距离矩阵 API?

使用 Stream API 从国家列表中查找每个国家/地区人口最多的城市