如何绘制折线区域,即服务覆盖区域,还使用Google Maps API和PHP检查访客的地址是否位于该区域内?

时间:2008-11-02 01:42:36

标签: php sql google-maps geolocation maps

我是正在构建新网站应用程序的企业的所有者。我的合作伙伴是正在进行开发的程序员,我们都没有任何人真正深入体验Google Map API或它的折线/多边形区域功能。

我们需要一种简单的方法来捕获我们的用户管理区域内的输入,我们的位置可以输入他们的服务覆盖区域信息,即Jones blvd以北的第一条街道,或距离位置地址5英里的半径等,并拥有Google Map API绘制折线边框。

然后,我们网站的访问者在查看我们某个位置的Google地图时,需要能够看到此信息,并查看他们的服务地址是否属于该服务区域。然后,我们需要以某种方式设置一个标志,以便向访问者发出通知,告知他们的地址不符合服务或交付条件。

如果有人可以帮助我们(示例PHP代码与建议的API接口将是首选和理想的,因为我们根本无法理解Google API的复杂性,折线坐标捕获工具等),它会非常感谢,因为我们一直在努力弄清楚如何在php中创建它,更重要的是如何将它集成到我们现有的网站中。

更新:感谢您的回答CodeMeIT ...如何建议我们在我们的sql数据库中捕获这些longlats ...即。什么是字段格式或类型,我们需要为long和lat设置单独的字段,以及如何标准化所有位置,即创建多边形区域需要多少长度和条带,因为我们希望能够让我们的位置管理员从他们的用户登录区域为他们自己的位置输入此信息。

1 个答案:

答案 0 :(得分:3)

在地图上绘制多边形

您可以在Google地图上绘制覆盖服务区域的多边形。那些多边形由一组latlongs定义,你可以从谷歌地球上收集它们并将它们放在某个地方。一旦你拥有了可以覆盖每个服务区域的所有坐标,你就可以看到链接,了解如何在谷歌地图上绘制它们

Google Map polygons Sample

检查用户是否在服务范围内

如果用户在某处输入或存储了地址信息,您可以将地址设置为谷歌地图地理编码服务,以查找地址的纬度和经度。

Google MAP Geocoding Service API

获取地址'坐标后,代码可以检查坐标是否在服务区域的多边形范围内。如果为false,那就是服务区域。

PHP for checking point in polygon