php - 使用 php 向谷歌地图添加静态 1km 网格

标签 php javascript api google-maps

我想创建一个覆盖谷歌地图的网格。 网格必须是静态的,这意味着 1km² 的网格必须完全位于同一位置,并且必须可以使用唯一 ID 进行识别。 我怎样才能在谷歌地图和 php 中实现这一点?

最好的, redshark1802

编辑:忘了说我必须直接与这些网格交互,这意味着要为每个字段更改颜色/样式。 我发现一些网站已经做到了 https://ownthisworld.com/

最佳答案

您的问题的答案可以在 Google Maps API (v3) 中找到.

这里的基本方法是:

  1. 使用 Map object 的 getBounds() 方法找到 map 的边界.结果是 LatLngBounds object ,您可以从中提取 map Angular 点的纬度和经度坐标。
  2. Compute the distance以 map 的南北、西与东之间的(千米)米为单位。使用此距离来确定您应该绘制多少条线(距离为 1 公里)。
  3. 绘制形状为PolyLines的网格, 这允许一些 options进行设置,例如颜色和宽度。
  4. 如果您还想绘制绑定(bind)了事件的矩形(如您的示例所示),您可以使用 Rectangle与某些options .您可以将“点击”事件绑定(bind)到这些矩形,这样您就可以与它们进行交互。或者您可以使用鼠标在 map 上点击的坐标来识别点击了哪个方 block 。

扩展信息: 如果你知道在哪里画网格,你也知道在哪里画矩形,因为矩形的边缘基本上是网格线的线段。那么你怎么知道在哪里画网格线呢?如果您决定一个标准的零点(例如赤道和本初子午线相交的点),并且基本上从那里开始绘制网格线,您将始终将网格线(以及矩形)定位在同一位置。请注意,您只能绘制 map 边界 View 内的那些网格线。 这样也很容易识别一个矩形,例如它的左上角……它总是位于相同的位置。

关于php - 使用 php 向谷歌地图添加静态 1km 网格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10364624/

相关文章:

ruby-on-rails - 如何分离进行 api 调用的 Rails Rspec 测试

php - 通过 PHP 的 cURL 上传文件到 FTP,错误是因为密码包含 '<' 字符

javascript - Bootstrap slider 轮播存在缩略图导航问题

JavaScript 与 WebComponents/ShadowDOM 封装

api - jade 模板中有 substr 方法吗?

python - 与 Flask 上的 REST 的概念差异

php - 如何使用 laravel artisan 设置 env 以具有两个不同的数据库连接(本地/远程)?

php - 通过 php 内爆函数格式化 SQL 查询

php - Laravel 4 Fluent Query Builder 上的列名冲突

javascript - 在苹果脚本函数中使用 Javascript 时出错