收藏 如何利用Google地图的API匹配2条路径是不是部分重合?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了收藏 如何利用Google地图的API匹配2条路径是不是部分重合?相关的知识,希望对你有一定的参考价值。

例如一个出租车拼车系统,能不能利用Google地图的api实现匹配两条路径是否能拼车呢?
假设有一条路径:A->B->C->D->E->F,
有一辆出租车的路径是A->B->C->D->E,
另一人的乘车路径是B->C->D->E->F,
这个人是可以和那辆出租车一起拼车的。
现在的问题是:我利用Google Map的Directions API获取了起始点到终点的驾车路径(xml或json格式)。
https://developers.google.com/maps/documentation/directions/?hl=zh-CN
怎么样利用返回的数据判断能否拼车呢?
不知道有没有做过的大牛,给点思路也行。

参考技术A 是否拼车 得取决与 乘车人的路线才行啊 对比就可以啦
就知道啦追问

请问根据API返回的数据,怎么对比呢?

利用 Google API 调用谷歌地图 演示1

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<head>
    <title>演示1</title>
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
    <style type="text/css">
        html { height: 100%; }
        body { height: 100%; margin: 0px; padding: 0px; }
        #map_canvas { width:50%; height: 50%; margin: 50px auto; }
    </style>
    <!-- sensor 参数表示是否检测用户的地理位置 -->
    <script type="text/javascript">
        function initialize()
        {
            var latlng = new google.maps.LatLng(22.95, 113.4); /* 广州市番禺区,分别为纬度和经度,常德的经纬度为:29,111.7 */
            var myOptions = {
                zoom: 12,    /* zoom 的取值范围为:0-19,表示范围最广,19表示范围最小但同时最详细 */
                center: latlng,
                //disableDefaultUI: true,     /* 是否禁用缩放滚动条和“地图”、“卫星”、“混合”、“地形”,默认为false */
                mapTypeControl: true,           /* 是否出现“地图”、“卫星”、“混合”、“地形”,默认为true */
                mapTypeControlOptions:
                {
                    style: google.maps.MapTypeControlStyle.DROPDOWN_MENU,    /* 以下拉框的形式显示“地图”、“卫星”、“混合”、“地形”,默认值为“google.maps.MapTypeControlStyle.HORIZONTAL_BAR” */
                    position: google.maps.ControlPosition.RIGHT        /* 显示的位置,默认为RIGHT */
                },
                navigationControl: true,        /* 是否启用缩放滚动条,默认为true */
                navigationControlOptions:
                {
                    style: google.maps.NavigationControlStyle.SMALL,     /* 已最简单的形式显示缩放滚动条 */
                    position: google.maps.ControlPosition.TOP_LEFT     /* 显示的位置 */
                },
                scaleControl: true,          /* 是否等比例缩放 */
                scaleControlOptions:
                {
                     /* position: google.maps.ControlPosition.TOP_LEFT */
                },
                mapTypeId: google.maps.MapTypeId.ROADMAP        /* google.maps.MapTypeId.TERRAIN 表示“地形” */
                /*
                mapTypeControlOptions:
                {
                     mapTypeIds: [google.maps.MapTypeId.ROADMAP, google.maps.MapTypeId.TERRAIN]
                }
                */
            };
            var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
        }
    </script>
</head>
<body onload="initialize()">
    <div id="map_canvas">
    </div>
</body>
</html>

以上是关于收藏 如何利用Google地图的API匹配2条路径是不是部分重合?的主要内容,如果未能解决你的问题,请参考以下文章

跟踪公交GPS点是否在路上 - Google Maps API

利用 Google API 调用谷歌地图 演示1

如何使用经纬度坐标计算谷歌地图上两条路径线之间的角度

Google Maps JavaScript API 在同一张地图上显示两条不同折线样式的路线

使用 Google Maps Android API v2 在两点之间绘制路径

如何制作混合路径道路类型? (捕捉到道路和简单的折线)Google Maps API