GeoField在视图中接近 -- views 领域 和 location 领域 drupal 相关 的问题

geofield proximity in views


5
vote

问题

中文

ive一直在尝试设置对用户距离的视图。

最近有一个geofield的更新,但是我很难计算向用户的距离(仅获得零)

我已经检查了用户是否具有它们,并尝试与用户ID建立关系而没有结果。

我是一个新的观点,所以每个建议都是有益的

英文原文

Ive been trying to setup a view where the distance to users is stated.

There has recently been an update of geofield however I am having trouble with calculating the distances to users (only get a zero)

I have checked whether the users have points, which they do, and tried to create a relationship to the user id without results.

I am a newbee in views so every advice would be beneficial

     
     
     

回答列表

4
 
vote
vote
最佳答案
 

mototribe的答案基本上是正确的,但你可能想要使用dev发行而不是alpha发布。从那时起,我们已经有了一些错误修复。我们可能很快就会做一个新的发布。

来源:GeoField维护者。

 

MotoTribe's answer is basically correct, but you might want to use the dev release instead of the alpha release. We've had a few bug fixes in since then. We should probably do a new release soon.

Source: Geofield maintainer.

 
 
 
 
13
 
vote

查看显示如何设置基本邻近搜索的新文档页面(它基于Mototribe的答案,但是更多信息)

如要求,一些链接内容:

指令

所需的模块

您必须下载最新的模块。这些说明已使用GeoCoder,GeoField和AddressField模块的"dev" 版本进行了测试。我认为这些模块对Geophp有依赖关系,也许是其他模块,安装您在安装时被指示的任何依赖模块。确保下载'dev'版本!

步骤

设置内容类型:

  1. 为您想要找到的内容类型(例如经销商,商店等)创建内容类型
  2. 在"管理" 字段中:将Addressfield字段添加到内容类型(按照您认为适合的选项)。
  3. 在"管理" 字段中:将GeOfield字段添加到内容类型。添加时,请务必从"小部件" 下拉列表中选择"从另一个字段中的地理码" ! GeoField选项非常简单,只需确保选择您之前为"从字段" 选项之前的"GeoCode" 选项创建的地址域字段。
  4. 现在,使用新内容类型创建一些带有地址的记录。

很容易!现在,让我们设置查看结果...

设置您的视图查询:

  1. 创建一个视图,可以是任何一种。选择您之前创建的内容类型,以实现结果。
  2. 添加一个字段:'[Geofield的名称] - 接近'(有许多地理编码相关的字段,你想要一个带' - proximity'附加的字段)
  3. 在现场设置中:对于"原始点" 字段的"源" ,选择"暴露的GeoField接近过滤器" 。
  4. 添加任何其他识别字段,例如标题,地址等。
  5. 为您的视图添加新的"过滤器条件" ,了解"GeoField的名称" - 接近'字段。
  6. 选择"将此过滤器公开给访问者" ,以允许它们更改它'
  7. 为'运算符',选择"小于" ,因为您希望从用户进入的值越来越近于一定距离的结果,例如,不到100公里等。
  8. 为"原产地点来源" ,选择"地理编码位置" ,这将允许用户进入友好的值,如城市,州,邮政编码,状态等(基本上,您可以进入Google位置搜索的任何内容)。
  9. 用于地理编码服务,选择"Google Geocoder" 。
  10. 添加一个排序标准:'[geofield的名称] - proximity'。此外,删除已经存在的任何其他排序过滤器,因为按日期排序首先将留下您的邻近滤波器!
  11. 设置为排序升序,因为您可能希望先显示最近的结果。
  12. 将"原始点源" 设置为"暴露的GeoField接近滤波器" 。
  13. 测试您的新邻近搜索!
 

See new documentation page for geofield that shows how to setup a basic proximity search (it is based on MotoTribe's answer, but with a bit more info)

As requested, some of the link content:

Instructions

Required modules

You must download the latest modules. These instructions have been tested with the 'dev' versions of geocoder, geofield, and addressfield modules. I believe these modules have a dependency on geophp, maybe others, install any dependent modules that you are instructed to when installing. Make sure to download the 'dev' versions!

Steps

Setup your content type:

  1. Create a content type for whatever you want to locate (e.g. Dealers, Stores, etc)
  2. In manage fields: Add an addressfield field to the content type (use options as you see fit).
  3. In manage fields: Add a geofield field to the content type. When adding, make sure to select 'Geocode from another field' from the 'widget' dropdown! The geofield option are pretty straightforward, just make sure to select the addressfield field you created earlier for the 'Geocode from field' option.
  4. Now, create a few records with addresses using your new content type.

That was easy! Now, let's setup the view result...

Setup your views query:

  1. Create a view, can be any kind. Select the content type you created earlier for the results.
  2. Add a field: '[name of your geofield] - proximity' (there are a number of geocoding related fields, you want the one with '- proximity' appended)
  3. In the field settings: For the 'Source of Origin Point' field, select 'Exposed Geofield Proximity Filter'.
  4. Add any other identifying fields, such as title, address, etc.
  5. Add a new 'Filter Criteria' for your view for the '[name of your geofield] - proximity' field.
  6. Choose 'Expose this filter to visitors, to allow them to change it'
  7. For 'Operator', choose 'Is less than', because you want results that are closer than a certain distance from the value your users enters, e.g. less than 100 kilometers, etc.
  8. For 'Source of Origin Point', choose 'Geocoded Location', which will allow the user enter friendly values such as city, state, zip/postecode, state, etc. (basically, anything you can put into Google location searches).
  9. For Geocoding Service, choose 'Google Geocoder'.
  10. Add a Sort Criteria: '[name of your geofield] - proximity'. Also, remove any other sort filter already existing, since sorting by date first will foil your proximity filter!
  11. Set to sort ascending, since you probably want to show the closest results first.
  12. Set 'Source of Origin Point' to 'Exposed Geofield Proximity Filter'.
  13. Test your new proximity search!
 
 
         
         
8
 
vote

使用 geofield 7.x-2.0-alpha2:

我假设您已启用GeoField和Geophp并假设您已将GeoField添加到您的用户从"" Addressfield

  1. 创建用户类型
  2. 的视图
  3. 添加"geofield的名称" - 邻近"字段
  4. 选择"原点源" ,我尝试了"暴露的GeoField接近过滤器" ,检查"圆形" 框
  5. 添加"geofield的名称" - 接近"公开过滤器,并选择" 原始点源"。例如,添加"GeoCoded Location" (满足地址)
  6. 将该字段添加到您的排序选项中,以按照邻近排序。

在您的示例中,您可能会将"原始点源点" 更改为"当前用户" 。

 

Looks pretty straightforward using geofield 7.x-2.0-alpha2:

I assume you have geofield and geophp enabled and assume you have added a geofield to your users that get the location from an addressfield.

  1. create a view of type users
  2. add "[name of your geofield] - proximity" field
  3. select "source of origin", I tried "exposed geofield proximity filter", check the "round" box
  4. add "[name of your geofield] - proximity" exposed filter and select a "source of origin point" as well. For example, add a "geocoded location" (fancy word for address)
  5. add that same field to your sort options to sort by proximity as well.

In your example you would probably change the "source of origin point" to "current user".

 
 
     
     
0
 
vote

juts如果,我写了一点插件,它适用于alpha2释放。

我提供了一个简单的接近过滤器,使用智能IP位置信息(如此智能IP被重新密封)。用户只需要一个盒子来搜索他。很好,不是吗?

免责声明:我提供了此代码,我不负责任等;)我在维护者的控制下发布谁可以告诉我那是一个sh **如果是这种情况。

查看此评论以获取完整说明: http://drupal.org/node/1901750#comment -7191652

最好的问候,

 

Juts in case, i wrote a little plugin, it works on the alpha2 release.

I provide a simple proximity filter that use the Smart IP location information (so Smart IP is requiered). User just have to chek a box to search around him. Nice, isn't it ?

Disclaimer : I provide this code as is, i'm not responsible, etc. ;) And i post this under the control of the Maintainers, who can tell me that this is a sh** if it is the case.

See this comment for complete instructions : http://drupal.org/node/1901750#comment-7191652

Best regards,

 
 
0
 
vote

除了 rogerger's post :

如果您将其用作视图附件,请不要忘记检查附件设置中的"继承暴露的过滤器" ,或者它将只显示距离默认值或"0" 的距离,如果没有给出默认值。

 

In addition to RogerRoger's post:

In case you're using this as a Views attachment, don't forget to check "Inherit exposed filters" in the attachment settings, or it will only display the distance from the default value, or "0" in case there's no given default value.

 
 

相关问题

0  菜单与视图中的参数  ( Menu with argument from views ) 
我想为侧栏上的每个用户创建菜单块。 在它中,将有类似视频,图像,生物。 所以我用参数和URL的视图是USERType /%/ Videogallery 它是正常工作的,但是如何将其添加为菜单项,因此当有人访问user3配置文件块菜单中的URL将导致视频,与URL USERTYPE / USER3 / VEREVEL...

1  如何使用视图显示同一行中的各个节点的相同字段?  ( How to display the same field with various nodes in the same row using views ) 
如何在下面的SQL查询中进行类似的内容? select nid, title AS title1, type AS node_type, (select title from node, field_data_field_node_reference_id where node.nid = field_data_...

1  视图:更改路径并将旧到新路径进行重定向?  ( Views change path and redirect old to new path ) 
我想改变我的一个观点的路径。如何将旧视图路径重定向到新的视图路径,包括可能遵循旧路径的所有变量? ...

4  我可以用什么钩子修改视图数据源JSON输出?  ( What hook can i use to modify views datasource json output ) 
我正在使用视图和视图数据源为我的网站生成JSON Feed。我有一个视频字段,它具有视频和缩略图图像。 我希望在我的JSON饲料中包含缩略图图像的URL。我在视图中添加视频字段到我的字段列表,我选择"视频缩略图" 格式而不是"视频播放器" 格式,以便它显示缩略图而不是视频。当我在正常视图中这​​样做时,它完美地工作。...

1  什么钩子可以改变完全呈现的HTML?  ( What hook can alter fully rendered html ) 
我使用视图和视图数据源呈现一些JSON,并且由于视图中的错误数据源,我似乎无法获得正确呈现的输出。所以,我正在寻找一个解决方法。 我可以在我的主题或模块中实现哪些钩子,这将为我提供即将发送回浏览器的最终字符串,这将为我提供最后一次改变它的机会? 编辑:我匆忙和措辞那么糟糕。当我说页面不会正确呈现时,我的意思是视图中...

1  从视图中提取用户ID列表以自动标记内容  ( Extract list of user ids from views to tag a content automatic ) 
我想从视图中提取用户ID列表,以自动标记用户生成的内容。 功能很重要,因为公司应该能够列出接收广告的用户列表。这些广告是它们能够制作的定义内容类型,如果可以自动标记这些用户ID,这将很好。这是唯一的方法(如我所知)我能够控制哪些用户接触到这些广告,因为在大多数情况下它只是应该暴露于它的组的一部分。 任何人都可以帮...

2  匿名用户的SQL错误查看Nivo Slider块  ( Sql error for anonymous users on views nivo slider block ) 
我使用了使用视图NIVO滑块模块创建了一个幻灯片,并将其添加为网站主页(运行Drupal 6)。一切都适用,但对于匿名用户来说,我得到了2个mysql错误,块没有显示。 您可以通过此处查看错误消息: http://staging.thespanishacademy.com 自然而然,我怀疑权限问题,但有三重检查一...

1  将多值参数传递给面板视图  ( Pass a multi value argument to a panel view ) 
是否有一种方法可以将多值参数从面板传递给面板视图? 我有一个节点,上面有一个实体关系字段,并将此节点加载为页面管理器中的上下文。 我还有一个接受多值参数的视图(上下文过滤器)。不是多个参数,我的意思是一个参数,如果您在URL中输入它们,那么您有多个NIDS通常用逗号分隔。 我想将nids从加载的节点上的实体关系字段...

0  '标志:节点标志关系' - 搜索API - Solr - 视图  ( Flags node flag relationship search api solr views ) 
标志 - 7.x-3.0-alpha4 搜索api - 7.x-1.3 索尔搜索 - 7.x-1.0-rc2 + 13-dev Apache Solr - 3.5 我在我的solr视图中有标志3.x工作正常。我能够正确地标记/ unflag。国旗附带默认的"我的书签" 视图,它显示当前用户目...

0  UI模块的观点是什么?  ( What does views ui module do ) 
我是德鲁佩尔的新手,我已经在许多地方阅读了ui模块,但无法找到它究竟是什么。任何人都帮助我? ...

2  如何防止菜单项出现?  ( How do i prevent a menu item from appearing ) 
我有一个页面显示的视图。我将该页面视图的路径放在菜单项中。我将此链接放在菜单路径主链接下; Apps>家>管理员视图。 在视图默认部分中,我设置了两个角色,以便能够查看页面:管理员和我创建的自定义管理员角色。 我有一个没有管理员或自定义管理员角色的用户。他们可以看到主菜单项,但它们也可以看到管理员视图。如...

1  面板内容未显示在复制的网站上  ( Panels content not displaying on copied site ) 
我准备将一个大d6站点转换为d7,所以我从服务器复制到我本地的Mac,我已经完成了一个问题的东西。同时,我将Macports从Macports更改为Homebrew,从Homebrew使用PHP54和MySQL以及Mac上的本机Apache(2.2.22)。我正在运行的是小组内容根本没有显示。我已经尝试了另外两个我们...

2  翻译上下文过滤器nid值  ( Translating contextual filter nid value ) 
在多语言网站上,命名为 language_negotiation_get_switch_links($type, $path) 的函数查找内容转换,并使用户可以在可用时切换到并行内容。 如果路径来自具有Novertual Filter的视图是节点ID的视图?说,用英语,它是 en/news/197 但是在德语 de/...

1  如何使用进度栏创建表视图?  ( How to create table view with progress bar ) 
我想使用进度栏创建表格视图。 Drupal-6视图由我需要做的活动的目标组成。我创建了一个名为目标的内容类型,该目标由活动/任务组成。我想在表格视图中列出目标,并在其中一个列中显示一个进度条,指示目标下的任务/活动是多少。我该怎么做? ...

3  通过使用结束时间过滤器(大于或等于'现在')过滤完成的事件  ( Filter completed events by using end time filter greater than or equal to now ) 
我几乎完成了将FullCalendar模块集成到我的网站中,但我担心加载时间。我有大约200场比赛,每天,每周一次,每月都会重复更多的活动。最初加载所有这些事件是不可能的,因为它需要大量查询,并且我从Apache获得超时错误。他们也无法缓存。 我想要做什么来改进它是在Day-View模式下初始化完整的日历视图,然后...

3  如何计算不同实体类型中相同字段的实体引用?  ( How to count entity references from same field in different entity types ) 
我有三种实体类型: 公司 团队(有Field_company,它是公司的实体参考) 员工(也有field_company,和field_team,它是一个 可选实体参考团队) 这个想法是所有员工至少是公司的一部分,也可能是该公司内部团队的一部分。 使用参考字段选项限制模块我限制了field_team所示的选项,只...

2  语言切换器不适用于我的观点  ( Language switcher doesnt work with my views ) 
我是这个论坛的新手,但我希望得到我的问题的答案。搜索2天,BUR没有成功... 我有一个多语言(法语和荷兰语)D7网站。除了启用所需的核心模块外,我安装了 i18n i18n 模块。至于正常页面,一切都适用完美。我有一个菜单,菜单链接是指正确的页面。我还有一个语言切换器,它与我的节点完美。 现在是我的问题。我创建...

3  查看过滤器2内容类型,但在其中一个内容  ( Views filter 2 content types but with condition on one of them ) 
我在发布之前查找这个:视图过滤条件多种内容类型(Drupal 7) 甚至问题是相同的,所提供的解决方案似乎没有工作。 我有内容类型A和B. B有一个布尔字段。 如果布尔值为true,我需要过滤并显示所有和bs。 我的筛选器设置如下所示: 内容:发布和 内容类型:a 或 内容:发布和 内容类型:B和 布尔字段:真实...

1  如何通过传递nid来获取使用节点标题的字段自动加载  ( How one can get a field auto loaded with node title by passing nid ) 
如何通过传递nid来获取使用节点标题的字段自动加载。我的意思是我希望它能够使用相应的节点标题自动加载所有可用标题的选择子位。 注意:我已将nid传递给该内容类型。现在必须将相应的节点标题获取到字段中。 提前感谢, Manju ...

0  零距离视图GeoField接近问题  ( Zero distance in views geofield proximity problem ) 
我无法让它的观点来计算距离。我希望当前用户看到与其他用户的距离,但是用户之间唯一的结果是0. 我试图遵循这个,仍然没有结果: 使用GeoField 7.x-2.0-alpha2看起来非常简单: 我假设您已启用GeoField和Geophp并假设您拥有 向您的用户添加了一个GeoField 地址菲尔德。 创...




© 2021 it.wenda123.org All Rights Reserved. 问答之家 版权所有


Licensed under cc by-sa 3.0 with attribution required.