wordpress - 用户如何在地图上添加位置?

时间:2012-09-30 22:46:48

标签: wordpress google-maps

我正在使用Wordpress来构建我的网站,我想添加一个表格:名称,描述,图片和地图上的位置。这是让用户在地图上添加自己的标记。

按“提交”,整个数据(名称,描述,图像,经度,纬度)将保存到数据库中。

我该怎么做?我应该使用哪些插件?

4 个答案:

答案 0 :(得分:3)

您可以使用Google Placemarks并授予他们创建插件使用的“地标”自定义帖子类型的权限。您可能需要破解特色图片..

或者,您正在查看完整的自定义帖子类型创建和Google地图API集成,这是一个利用特色图片的自定义循环。

答案 1 :(得分:2)

最接近您需要的插件是SMacFadyen建议的 - BGMP。但如果你想自己做,你需要研究一下:

对于第一个,有很多关于如何显示地图和InfoWindows的教程,所以你不应该有太多问题。对于自定义帖子类型,有一个很棒的generator应该可以完成99%的工作。对于Meta Box,您可以采用以下几种方式:

  • plugin - 最简单,但你会依赖一个我不太喜欢的插件
  • 从头开始 - tutorial - 这比插件好很多但需要大量工作
  • 其中一个元框库 - 这是我通常采用的方式 - 我正在开发自己的方式但尚未准备就绪,所以我建议My-Meta-BoxReusable Custom WordPress Meta Boxes

答案 2 :(得分:0)

有几次,在搜索如何使这项工作时,我偶然发现了这个问题。每次,我都不满意现有插件处理这个问题的方式。所以,我现在把它放在一起。

以下是我的解决方案的概述。

  1. 使用插件Custom Post Type UI为地图上的标记创建自定义帖子类型。
  2. 使用插件Advanced Custom Fields向此自定义帖子类型添加一个字段,该字段代表该位置。字段类型为' Google Map'。
  3. 将标准Google Maps API clustering example复制到主题中的相应主题文件中。
  4. 要显示标记,请在主题文件中生成位置列表,请求新创建的自定义帖子类型的帖子。
  5. 对于每个标记/位置,请选择“Google地图”'字段和抽象的纬度和经度。
  6. 对于每个标记/位置,为具有所有位置的数组构造适当的数组元素,至少包括纬度和经度,也可能是infowindow的内容。
  7. 这应该会为您提供一张包含所有位置的地图。

    允许用户添加位置:

    1. 向地图添加侦听器,侦听点击次数并返回点击的位置。也许这个监听器只在用户表达了将地图添加到地图的意图后才会运行。
    2. 当用户点击时,打开表单,例如以模态打开。表单应包含具有纬度和经度的隐藏字段,并且例如还可以包含相关位置的静态图像。其他表单字段将是您出于此目的所需的字段。
    3. 使用AJAX提交表单。例如,请参阅this tutorial。在您主题的functions.php中,您可以验证提交并将新提交添加到您的Wordpress数据库,与您的新自定义帖子类型相匹配。
    4. 根据您存储新位置的方式,在下次重新加载地图时,系统会包含新位置。 (或者您可能需要首先授权新位置。) 您还可以通过AJAX重新加载所有位置。

答案 3 :(得分:0)

Profile Builder允许您执行此操作。创建一个前端注册表单,其中包括必填的自定义字段和一个地图字段,供用户固定或输入其位置。

然后使用内置的用户列表(成员目录)模块,可以显示map of all users个位置。