地图边界服务区域系统

时间:2014-01-15 04:17:34

标签: javascript google-maps google-maps-api-3 geolocation graph-algorithm

我目前有一个基于邮政编码的服务区系统,客户会输入一个地址(邮政编码),它会返回服务区的可用服务时间(服务区可以有多个邮政编码),我现在需要做什么而不是使用zipcodes来创建服务区域我需要使用边界系统,我可以在地图上绘制多边形,当客户输入地址时,我们会对其进行地理编码并与服务区域进行比较并返回适当的服务时间,这样的系统因为我现在遇到的问题是邮政编码边界的形状非常不同,所以不可能制作出准确的服务时间图。我想到一个简单的方法来解决这个问题。

2 个答案:

答案 0 :(得分:0)

让你入门: Google Maps tutorial

答案 1 :(得分:0)

在深入研究这个主题之后,我发现了我在寻找的东西!我可以使用光线投射算法来发现多边形内部的一个点(坐标),我可以很容易地从Google地图中获取多边形的坐标,In本质上我将要做的是:

  1. 制作Google地图区域选择器以构建多边形。
  2. 将多边形点坐标数组保存到数据库中(作为服务区域/区域)
  3. Geo-Code客户也可以解决并保存到数据库(第一次将从Google地图中提取并保存在数据库中以备将来使用)。 4.使用Ray-Casting算法循环遍历所有“多边形”,直到它返回true并且我们知道地址属于哪个多边形,如果它返回false,那么我们知道我们不为该区域提供服务。
  4. 参考文献:

    Raycasting algorithm with GPS coordinates

    http://rosettacode.org/wiki/Ray-casting_algorithm