我无法重现此问题,请提供重现步骤。
这对我来说就是这样……
- 创建一个启用了位置信息的类别(勾选了所有三个位置设置,但不知道这是否有区别)
- 在类别中创建一个新主题并为其添加位置信息。该主题显示“显示地图”按钮,如果单击它,会在正确的位置显示一个标记。
- 在类别中创建第二个新主题,但不要为其添加位置信息。该主题仍然显示“显示地图”按钮,但如果单击它,则没有标记,只有一个空白地图。
- 我创建了第三个没有位置信息的主题,结果与 (3) 相同。
- 我删除了第一个主题的位置信息。其他主题仍然显示“显示地图”按钮/空白地图。
- 在删除了第一个主题的位置信息后,我创建了第四个主题,同样没有添加位置信息。第四个主题仍然有一个“显示地图”按钮,指向一个空白地图。
- 在另一个启用了位置信息的类别中,我添加了一个没有定义位置信息的新主题。该主题也有一个“显示地图”按钮,显示空白地图。
- 在另一个未启用位置信息的类别中(未勾选任何位置设置),我创建了一个新主题,该主题没有添加位置信息的选项,但在保存主题后,它获得了一个“显示地图”按钮,指向一个空白地图。由于该主题位于未启用位置信息的类别中,因此无法编辑以删除位置信息。
这就像我有一个粘性的主题位置标记粘在我身上!希望你能重现这个问题。
我会在有时间的时候看看。
如果其他人也能复制这一点,我也很感兴趣……
我根本无法重现这一点,第一个有位置:
这是我的第二个主题,没有位置:
请注意,我的用户有一个与之关联的位置(这是独立的)。
这是一个开发实例,我也在生产环境中检查过。
您是在 tests-passed 上吗?
您能否详细描述一下您是如何创建第一个位置的?
如果清除此网站浏览器的缓存,您能否重现该问题?
据我所知,我处于 tests-passed 状态,因为我从未更改过默认设置。
我的用户曾关联了一个位置,但我将其删除以查看是否会产生任何影响。我之前帖子(以及下方)中记录的所有测试都是在未设置用户位置的情况下进行的。
当设置了位置时,我的用户位置是通过纬度/经度设置的,以获得更精确的位置,但主题测试是通过查找我的位置——城市=“Layton, Blackpool”,空白州和“United Kingdom”并选择邮政编码为 FY3 8JL 的位置,或通过一组近似的纬度/经度坐标——我认为是 53.5N 3.01W……大概在 Little Crosby 附近,因为我误输入了纬度!显示时,位置确实显示了主题位置,而不是之前定义的更精确的位置。
我已经清除了我的 Discourse 子域的缓存、Cookie 和站点数据,在重新登录后,我仍然创建带有空白地图的主题。然后我尝试了另一个浏览器,我认为我从未用它访问过我的 Discourse 实例,它也创建了带有“显示地图”按钮和空白地图的新主题。
然后我创建了一个新帐户,并且没有为它设置用户位置。我创建了一个带有位置的主题,如预期那样工作(带有标记的地图),然后创建了第二个主题,但没有存储位置。这复制了您所看到的。
我创建了第二个新用户并为其配置文件添加了用户位置。当我创建一个新主题时,主题位置默认为用户位置(应该这样吗?),并且主题位置被正确存储。然后我创建了第二个主题,点击了默认位置旁边的 X,主题就被存储而没有位置。
所以看起来是我的帐户出了什么奇怪的问题。午饭后我会再做些调查,看看是否能找到重置它的方法。
这太奇怪了。如果你能访问 rails 控制台,能否也请查看一下:
TopicCustomField.last(10)
并在后端查看你遇到的主题是否有位置信息。
这是一个显示地图按钮但地图上没有标记的主题。我假设这是在说该主题有一个位置,但该位置是“null”(或等效值)?
#<TopicCustomField:0x00007fae3f9838f8
id: 62820,
topic_id: 71985,
name: "location",
value: "{\"geo_location\":\"{}\"}",
created_at: Thu, 20 Jul 2023 09:55:11.188231000 UTC +00:00,
updated_at: Thu, 20 Jul 2023 09:55:11.188231000 UTC +00:00>,
#<TopicCustomField:0x00007fae3f983b78
id: 62821,
topic_id: 71985,
name: "has_geo_location",
value: "t",
created_at: Thu, 20 Jul 2023 09:55:11.188676000 UTC +00:00,
updated_at: Thu, 20 Jul 2023 09:55:11.188676000 UTC +00:00>,
编辑:我再深入研究一下……在 user_custom_fields 中,我的账户 geo_location = “{}”
这很有用。谢谢。
我不在电脑旁,但你能试着给那个话题添加一个位置,然后按清除按钮吗?
添加位置然后清除位置会移除“显示地图”按钮和空白地图。清除主题自定义字段后是…
#<TopicCustomField:0x00007fe540801600>
id: 62834,
topic_id: 71985,
name: "has_geo_location",
value: "f",
created_at: Thu, 20 Jul 2023 14:48:16.645528000 UTC +00:00,
updated_at: Thu, 20 Jul 2023 14:48:16.645528000 UTC +00:00
#<TopicCustomField:0x00007fe5393c3d60>
id: 62835,
topic_id: 71985,
name: "location",
value: "{}",
created_at: Thu, 20 Jul 2023 14:48:16.645876000 UTC +00:00,
updated_at: Thu, 20 Jul 2023 14:48:16.645876000 UTC +00:00
]
好的,这是目前的临时解决方案。
如果我能重现它,我将处于一个更好的位置来修复它。
如果它持续发生,请告诉我。
它会从受影响的主题中移除按钮,但我创建的每个新帖子仍然带有带有空白地图(空位置)的按钮。
如果您愿意,请通过私信将您的所有“位置”设置发送给我。
我有一个想法……我刚才又看了看位置设置,“位置主题默认值”设置为“用户”。我将其设置为无,现在我可以创建一个没有位置的主题,或者选择添加一个位置(如果我想要的话)。我不确定我之前为什么会错过这个设置。
我想知道当该选项设置为“用户”时,代码是否会检查用户是否具有 geo_location 自定义字段。如果用户从未设置过位置,则没有自定义值,什么也不会发生,但如果找到该字段,它将被添加到主题中。当您设置了一个位置并将其删除后,geo_location 字段存在但设置为 null。null 值应用于主题,这意味着它会获得按钮但地图为空。
我还想知道那些位置为空的用户和/或没有位置的主题是否是导致世界地图出现奇怪行为的原因,因为它不期望看到 null 位置值?我认为我已经从可能设置为 null 的主题中删除了所有位置,并且世界地图运行得更好,例如到目前为止没有滚动问题。
您好!
我们刚刚升级了论坛,在地理位置插件中遇到了一些小问题。
有时,在带有地理位置的讨论中查看地图时,地图会显示出来但没有标记。刷新页面(shift+maj+r)似乎可以解决这个问题。
在分类中显示带有多个标记的地图时,有时也会出现地图没有标记的情况。刷新页面(shift+maj+r)会显示一些标记,但只有 30 个,而不是几百个。
在直接链接到不同分类过滤后的地图之间切换时,地图不会更新。会显示前一个分类的标记(并出现上述相同的错误,只显示 30 个标记而不是几百个)。
我可以在 /map 处显示所有标记(最多 1700 个标记,如设置中所指定)。只是在查看特定分类的地图时不起作用。
一切都是最新的。我们上一次更新是在 3 个月前,当时一切都很好 ![]()
如果能帮到您,这是论坛链接:https://forum.agoramtl.com/
感谢您对这个插件所做的工作。
感谢您的报告。我会及时查看。由于这似乎是一个间歇性的非关键问题,而且它是一个免费插件,请耐心等待。欢迎提交修复的 PR。
我完全理解
我非常感谢您对这个插件所做的工作。
我不知道这是否相关,但我在日志中看到了这些错误,似乎与地图有关?
ActionView::Template::Error (No route matches {:action=>"map_feed", :controller=>"list"})
app/views/list/list.erb:134
app/views/list/list.erb:132
lib/topic_list_responder.rb:15:in `block (2 levels) in respond_with_list'
lib/topic_list_responder.rb:8:in `respond_with_list'
app/controllers/list_controller.rb:110:in `block (2 levels) in <class:ListController>'
app/controllers/application_controller.rb:420:in `block in with_resolved_locale'
app/controllers/application_controller.rb:420:in `with_resolved_locale'
lib/middleware/omniauth_bypass_middleware.rb:74:in `call'
lib/middleware/content_security_policy.rb:12:in `call'
lib/middleware/anonymous_cache.rb:387:in `call'
lib/middleware/gtm_script_nonce_injector.rb:10:in `call'
config/initializers/008-rack-cors.rb:24:in `call'
config/initializers/100-quiet_logger.rb:20:in `call'
config/initializers/100-silence_logger.rb:29:in `call'
lib/middleware/enforce_hostname.rb:24:in `call'
lib/middleware/request_tracker.rb:228:in `call'
编辑:是的,访问地图时会出现此消息,并且论坛遇到了错误。
这很有用的信息,谢谢。
这项政策是否仍然有效?
不。这是一个免费插件,因此不再保证兼容性。我们将尽最大努力,并期望社区开始做出更多贡献。
也就是说,兼容性在以下位置进行跟踪和仪表化:
https://coop.pavilion.tech/plugins?branch=tests-passed
因此,在升级之前,请在此处进行检查:我一直在努力添加测试用例。
实际上,重大中断将很快得到解决。
知道了,谢谢!

