4

我正在使用 Wordpress 构建我的网站,我想添加一个表单,其中包含:名称、描述、图像和地图上的位置。那就是让用户在地图上添加自己的标记。

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

我怎样才能做到这一点?我应该使用哪些插件?

4

4 回答 4

3

您可以使用Google 地标并让他们访问插件使用的“地标”自定义帖子类型的创建。你可能不得不破解特色图片..

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

于 2012-10-01T08:55:10.287 回答
2

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

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

于 2012-10-01T09:33:16.340 回答
1

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

这是我的解决方案的概述。

  1. 使用插件自定义帖子类型 UI为地图上的标记创建自定义帖子类型。
  2. 使用插件高级自定义字段向此自定义帖子类型添加一个表示位置的字段。字段类型是“谷歌地图”类型。
  3. 将标准Google Maps API 集群示例复制到您主题中的相应主题文件中。
  4. 为了显示您的标记,通过在您的主题文件中请求您新创建的自定义帖子类型的帖子来生成位置列表。
  5. 对于每个标记/位置,选择“谷歌地图”字段并抽象出纬度和经度。
  6. 对于每个标记/位置,为包含所有位置的数组构造适当的数组元素,至少包含纬度和经度,还可能包含信息窗口的内容。

这应该为您提供一张地图,其中标出了所有位置。

允许用户添加位置:

  1. 向您的地图添加一个侦听器,用于侦听点击并返回点击的位置。也许这个监听器只有在用户表达了他想要在地图上添加一个位置的意图之后才会运行。
  2. 当用户单击时,打开一个表单,例如在模式中。该表单应包含带有纬度和经度的隐藏字段,例如,还可以包含相关位置的静态图像。其他表单字段将是您需要的字段。
  3. 使用 AJAX 提交表单。例如,请参阅本教程。在您主题的 functions.php 中,您可以验证提交并将新提交添加到您的 Wordpress 数据库,匹配您的新自定义帖子类型。

根据您存储新位置的方式,在您下次重新加载地图时,新位置将被包括在内。(或者您可能需要首先授权新位置。)您还可以通过 AJAX 重新加载所有位置。

于 2016-12-10T16:45:35.120 回答
-1

Profile Builder允许您这样做。创建一个前端注册表单,包括所需的自定义字段和地图字段,供用户固定或输入他们的位置。

然后使用内置的用户列表(成员目录)模块,您可以显示所有用户位置的地图。

于 2019-07-01T08:45:37.503 回答