【问题标题】:Google Maps - Extract coordinates of the map's center?谷歌地图 - 提取地图中心的坐标?
【发布时间】:2011-05-10 02:12:36
【问题描述】:

我希望以这种方式使用 Google 地图: 用户放大他们想要的位置(使用平移和缩放或地图上方的搜索栏),地图中心的坐标作为“$lat”和“$lon”或“$坐标”。如果有人能找到或编写一些执行此操作的代码,我会很高兴......如果需要更多信息,请告诉我......我对 JavaScript(甚至 PHP)的理解有限,所以请尽量像你一样完整可以:)

【问题讨论】:

    标签: php javascript google-maps google-maps-api-3 coordinates


    【解决方案1】:

    因此,这将是有问题的(并且几乎不可能),因为 PHP 代码是在页面完成加载到客户端浏览器之前在服务器端执行的。 Javascript 在用户在浏览器中执行操作时“实时”执行,因此从 JS 推送到 PHP 确实没有一种简单直接的方法。

    要正确回答这个问题,我们需要知道您想对坐标数据做什么,以及这是您应用中的整个“框架”在哪里,例如:

    • 用户是否会选择一个位置,然后将其发送给您,仅此而已?
    • 他们是否会一个接一个地选择多个位置(例如图钉或其他东西)(例如“我最喜欢的地方”)
    • 您能否写入数据库并在完成后处理位置?

    您有几个选项(从最简单到最难排序)

    1. 让用户将地图平移/缩放到他们想要的位置,然后单击某个按钮,然后从地图中提取坐标并将其推送到某个 PHP 脚本(通过 GET 或 POST)
    2. 写入数据库 - 并包含一个“完成”按钮,用于启动 PHP 脚本来处理数据。
    3. 让用户在地图上移动,当他们完成移动时启动一个小计时器,如果他们在该位置停留 X 时间,则刷新页面。刷新页面时,将坐标传回同一页面(通过 GET 或 POST)。当你在 PHP 中得到它时,对数据做任何你需要的事情(并在坐标上重新定位地图。从用户的角度来看,这会很烦人。

    既然你问了,你可以通过 map.getCenter() 获取地图的中心位置,这会返回一个纬度/经度对

    【讨论】:

    • 感谢您的回复! :) 我想要的选项确实是最简单的(#1)。我不确定是否可以完成这项工作,所以我还没有费心在我的网站上设置代码,但我目前设置了一个
    • 嘿,只是想这个线程的电子邮件更新可能已经被埋在你的收件箱里了......谢谢
    • 是的,我看到了你的回复——选项 #1 相对简单,只需查找一些关于通过 GET 或 POST 将数据从 javascript 发送到 PHP 的示例(使用 GET,用户将能够看到/操作地址栏中的数据 - 请谨慎使用。)
    • 自从你回复以来我一直在努力解决这个问题,但我没有希望......我不知道任何 Javascript 或 PHP 的语法,我真的只能举个例子,这将使这可行,但是...我不知道如何使用 map.getCenter() 从地图中提取坐标,也不知道如何将该数据放入另一个输入字段的 PHP 页面( 'q') 被发送到。我有一个地图,它下面有一个不相关的 字段 - 字段工作得很好,所以你能写一些代码将 map.getCenter() 的值放入第二个 字段吗?在下面粘贴我的代码:
    猜你喜欢
    • 2012-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-05
    • 2012-10-18
    • 1970-01-01
    相关资源
    最近更新 更多