Google映射api数据库交互

时间:2009-02-06 22:56:06

标签: php javascript mysql google-maps

我目前正在开展一个项目,用户需要能够将地质数据(例如某个街道名称)输入到一个网站中,该网站将被放入数据库中,然后在Google地图上检索并显示给所有用户看。

我做了一点研究,到目前为止看起来最好的方法是使用php脚本获取数据并将其发送到mySQL数据库,然后可以通过另一个PHP脚本检索它然后传递给javascript以显示在地图上。

从大局来看,这是最好的做事方式吗?

提前致谢!

2 个答案:

答案 0 :(得分:4)

看起来您的问题有几个单独的步骤:

  1. 注册Google Maps API密钥。

  2. 写一些让用户输入地址并将其保存在数据库中的内容。

  3. 相同的脚本应使用地理编码将地址转换为坐标。结果应该(必须)保存在数据库中,因为Google每个ip每天只接受15k Geocode查询。由于您将保存结果,因此如果您要在一天内向地图添加超过15k的项目,则只会出现问题。

  4. 编写生成地图的脚本。可能会有一些很酷的Google API调用,如果不是,您将不得不自己做一些工作。使用时间戳缓存地图,以便节省一些处理器/时间。

  5. 创建一个显示地图的界面,与步骤2a集成,然后调用步骤3.

答案 1 :(得分:1)

@菲尔的反应很好。以下是我的一些补充:

Google地理编码不必在服务器端完成。 15k限制计入​​客户端 ip而不是服务器ip。如果 ,则单个恶意客户端可能会耗尽主机站点的限制并有效地管理站点的地理编码功能。

http://code.google.com/support/bin/answer.py?answer=93464&topic=12266

在存储db结果之前执行地理编码服务器端的一个原因是,可以更容易验证用户的条目,以确保他们输入的地址实际上是可地理编码的。在这种情况下,您将受到15k查询主机限制。如果您将验证代码放在客户端上,则将请求传播给所有客户端。

有一些漂亮的Google API调用。快速浏览文档将揭示一个简单的过程:

  • 从db
  • 中获取地址
  • 将其编码为GPoint
  • 将地图置于GPoint中心
  • 可能会在GPoint上放一个标记

文档中完全涵盖了这些类型的内容。

http://code.google.com/apis/maps/documentation/examples/

另外,直接回答你的问题。是的,看起来你走在正确的轨道上。