检查设置 location users map limit。如果它低于已添加位置的用户数量,则超过限制数量的用户将不会显示在地图上。
就是这样。谢谢。 ![]()
一些用户在使用默认提供商(nominatim)时遇到了速率限制,导致他们需要等待一分钟才能重试。
奇怪的是,我没有遇到任何限制。
参见:The location field in profile is kind of broken - Forum Feedback - Unicyclist.com
- 有什么想法可以解释为什么我没有遇到限制,而有些用户却遇到了?我尝试在快速输入时输入很长的地点名称。
- 对于 location_geocoding_provider 设置,你的第二个选择是什么(免费使用)?
- location_geocoding_debounce 设置是什么?
我看到 nominatim 的使用政策中提到“自动完成搜索 Nominatim 尚不支持此功能,你不得使用 API 在客户端实现此类服务。”
在新主题的地点按钮中没有自动完成功能,但在自定义用户字段中有:



- 这是禁止的用法吗?

是,也不是。大部分情况是否定的。如果位置信息是在用户没有采取任何行动的情况下自动获取的,并且该网站是由公司或社区运营的(意味着不是私人个人),并且该信息并非必需,那么这可能违反 GDPR。
但是……地理位置的准确性很差。我不知道法国的情况如何,但在芬兰,所有运营商都覆盖全国,所以每次我的 IP 地址更改时,我的位置也会更改,而且每次都指向错误的城市。
IP 地址不被视为个人数据,而更像是公开数据,不能用于识别个人。
但是,在使用插件时,地理位置并非被禁止、不被允许或不合法,因为用户希望显示它。并且使用 IP 地址作为位置来源从来都不是不合法的。
不过,可能存在一些道德问题。但这取决于论坛。
我可能误解了这个插件的工作方式。我需要阅读完这个话题。感谢您的回复。 ![]()
您只能在测试中使用 Nominatim。对于生产环境,我建议使用
这是上个月跟进的,抱歉,我不知怎么错过了任何回复通知 ![]()
我们另一个显示较大文字的网站使用的是 Leaflet v1.5.1
我看到 Locations 插件以前是 1.3.4,现在是 1.7.1,这意味着版本不是问题。
同意。
提醒一下大家,我们 Locations 地图上的文字太小了,无法阅读。
截图示例在此:Locations Plugin 🌍 - #736 by Richie
谢谢 Robert @merefield,是的,我可以访问另一个网站的源代码,该网站上的文字更大,但使用的是相同的底图。
我认为不同之处在于传递了一个额外的参数:
tileSize: 512
它在此上下文中应用:
// Attribution
var mbAttr = 'Map © <a href="https://www.openstreetmap.org/">OpenStreetMap</a>, Imagery © <a href="https://www.mapbox.com/">Mapbox</a>, Content © <a href="https://GreyArro.ws/">Grey Arrows Drone Club</a>',
mbUrl = 'https://api.mapbox.com/styles/v1/mapbox/{id}/tiles/{z}/{x}/{y}?access_token=<%=Variabs.GlobalVariables.strOpenStreetMapKey%>',
mbMaxZoom = '20'
;
// Basemaps
var
// Full list: https://gis.stackexchange.com/a/244797/145060
// Full list: https://docs.mapbox.com/help/troubleshooting/migrate-legacy-static-tiles-api/#which-classic-styles-are-being-deprecated
// Full list: https://docs.mapbox.com/api/maps/#mapbox-styles
dark = L.tileLayer(mbUrl, { id: 'dark-v10', maxZoom: mbMaxZoom, attribution: mbAttr, tileSize: 512, zoomOffset: -1 }),
road = L.tileLayer(mbUrl, { id: 'outdoors-v11', maxZoom: mbMaxZoom, attribution: mbAttr, tileSize: 512, zoomOffset: -1 }),
satellite = L.tileLayer(mbUrl, { id: 'satellite-v9', maxZoom: mbMaxZoom, attribution: mbAttr, tileSize: 512, zoomOffset: -1 }),
hybrid = L.tileLayer(mbUrl, { id: 'satellite-streets-v11', maxZoom: mbMaxZoom, attribution: mbAttr, tileSize: 512, zoomOffset: -1 })
;
因此,我认为我有一个功能请求 ![]()
请问我们可以在插件设置中添加一个 tileSize 吗?
或者我是否可以通过 Map tile layer uri 设置来传递所需的 tilesize? ![]()
谢谢 @Don,我可以重现,虽然它似乎并没有阻止显示,我会尽快查看
这是由于核心中的此提交引入的重大更改:FIX: Use CSS transition to make room for composer (#16750) · discourse/discourse@9ea8a4a (github.com)
我已推送一项修复以及一些小的格式调整,以改进外观和感觉:
谢谢你,Robert
我非常感谢你在非维护时间如此迅速地修复了这个问题。我会尽快更新,并在此帖中说明它的工作原理。![]()
运行效果很棒,再次感谢!![]()
你好。有人知道是否可以通过此插件在地图上添加位置吗?
一些社区的位置很难在没有坐标的情况下识别,这可能会让一些用户望而却步。谢谢!
我确信之前有人请求过这个功能,但据我所知,它不在当前列表中。
功能请求可以在这里提出: Pavilion
但请注意,我们通常忙于维护插件,如果没有人赞助这项工作,新功能很少出现。
我们也欢迎 PR(拉取请求)。这是一个特别适合添加的功能。
您好!
我修改了 list/topic-list-item.raw 模板以在主题列表中显示位置:
{{#if topic.location}}
<div>
{{d-icon 'map-marker-alt'}} {{location-format topic.location opts}}{{location-label-container}}
</div>
{{/if}}
但我认为我的条件没有正确编写,因为如果我禁用该插件,主题列表循环就会中断。
在 handlebars 模板中检查主题位置是否存在,正确的方法是什么?
覆盖这个似乎有点极端,为什么不使用连接器呢?:
topic-list-after-title 或者
topic-list-before-category
请看 An interesting strategy for passing properties via raw template plugin outlets
因为我找不到合适的(或者可能在我修改模板的时候它们还不存在,大约在 2 年前):![]()
这样做可能会更容易,我会试试,谢谢!
呃…… 无法使用这些连接器。
我尝试过和看过的枯燥内容
我阅读了 Developing Discourse Themes & Theme Components
假设这是我们在连接器中添加 HTML 代码的方式:
<script type="text/x-handlebars" data-template-name="/connectors/topic-above-post-stream/test">
<div style="height: 200px; width: 200px;background: red"></div>
</script>
我尝试了
<script type="text/x-handlebars" data-template-name="/connectors/topic-list-after-title/test">
<div style="height: 200px; width: 200px;background: red"></div>
</script>
但它不起作用。是因为 topic-list-item 是一个 .hbr 文件而不是 .hbs 文件吗?
我使用了 https://meta.discourse.org/t/plugin-outlet-locations-theme-component/100673,但主题列表中的插件插槽没有显示出来。
或者我只需要创建一个带有额外文件的主题组件,就像这个 https://github.com/discourse/discourse-topic-thumbnails/blob/main/javascripts/discourse/connectors/topic-list-before-link/topic-thumbnail.hbr 吗?
但是这里创建了新的连接器,而 topic-list-after-title 和 topic-list-before-category 已经存在了…… 所以我有点困惑。
也许这有帮助?:
![]()

{{context.topic.location.street}}

或者更好:
{{location-format context.topic.location}}
这会导致:
![]()
然后您可以使用 CSS 进行优化(例如,移至新行)。
使用 outlet 的方式更加优雅,但存在一个问题。
outlet 的位置就在主题标题之后……以及徽章 div(显示未读消息或新主题的点的那个)之前。结果:
我找不到简单的解决方案来修复这个问题,即使使用 CSS(我尝试过一些方法)。
我也觉得在 Feature 中请求一个新的 outlet 不会足够有趣而被添加到 Discourse 中。
编辑:我已经将徽章放在了位置旁边。这样就可以了。






