根据自定义数据在地图上创建路线

时间:2012-06-27 03:08:58

标签: map overlay routes directions

所以我要做的是以下内容:

  1. 拥有地图(例如Google地图或questMaps)。根本不需要使用哪种API。
  2. 在该地图上有一个街道上的叠加层。所以说(例如)街道晚上有不好的闪电,它会变成红色。如果它具有良好的闪电,它将具有绿色覆盖。
  3. 根据叠加层,地图会创建自定义路线(例如,用户只想在绿色/光线充足的街道上行走)。
  4. 我不知道如何做到这一点(特别是第3步)。

2 个答案:

答案 0 :(得分:0)

首先,您必须决定所需的数据。您如何将某些街道归类为点亮或不点亮?如果街道的某些部分光线充足且有些没有灯光怎么办?您需要知道您所在地区每个路灯的位置吗?如果灯光烧坏怎么办?

在确定需要哪些数据后,您需要构建数据集。如果这些数据已经存在,我会非常惊讶,所以你可能需要自己收集它。无论是到城里去做笔记,还是众包项目,或者找出其他方法。

收集数据后,请学习您希望使用的任何地图绘制工具的绘图API。它们都应该在其API中具有用于在现有地图上绘制彩色线条(用于街道)或点(用于路灯)的功能。

最后,了解您选择的映射工具的导航API。你是对的,这是一个艰难的步骤。我知道Google地图可让您在请求路线时指定某些航路点;也许您的应用可以计算光线充足的航点并将其提供给Google地图的路线服务,以影响其生成的航线。

祝你好运!

答案 1 :(得分:0)

对于自定义路由,您需要阅读“图论”。这忽略了街道地图的地理位置,并将其视为由边连接的一组交汇点(图论行话中的节点或顶点)。您可以为边缘分配权重 - 这些可以是长度,行程时间,1和0等。任何事情。它们与地图上的位置无关。

因此,对于您的应用程序,您将为未点亮的街道分配较大的权重,并为点亮的街道分配较小的权重,然后使用标准的最小权重算法来获取从一个节点到另一个节点的路由。