【问题标题】:How to plot Polyline Area, i.e. service coverage area, and also check to see if visitor's address lies within that area using Google Maps API and PHP?如何绘制折线区域,即服务覆盖区域,并使用 Google Maps API 和 PHP 检查访问者的地址是否位于该区域内?
【发布时间】:2010-09-20 08:39:06
【问题描述】:

我是一家正在构建新网站应用程序的企业的所有者。我的搭档是做开发的程序员,我们俩都没有真正深入了解 Google Map API 或其折线/多边形区域功能的经验。

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

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

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

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

【问题讨论】:

    标签: php sql google-maps geolocation maps


    【解决方案1】:

    在地图上绘制多边形

    您可以在谷歌地图上绘制覆盖您服务区域的多边形。这些多边形由一组纬度定义,您可以从谷歌地球收集这些纬度并将它们保存在某个地方。获得可以覆盖每个服务区域的所有坐标后,您可以查看链接以了解如何在谷歌地图上绘制它们

    Google Map polygons Sample

    检查用户是否在服务区域内

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

    Google MAP Geocoding Service API

    获取地址坐标后,代码可以检查该坐标是否在服务区多边形的任何边界内。如果为 false,则表示不在服务范围内。

    PHP for checking point in polygon

    【讨论】:

      猜你喜欢
      • 2013-03-29
      • 1970-01-01
      • 2017-01-29
      • 2022-10-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多