Locations 插件 🌍

@merefield 你对这个要求有什么看法?

1 个赞

Stefan,抱歉未能及时回复你。这是一个更实际的考虑,也是个不错的主意。我会在有空闲时考虑。不过短期内还不会实现,因为我目前手头有客户的工作。资金支持总是有助于加快实施进度。

3 个赞

别担心,我本来就觉得它可能漏掉了。我应该在哪里提交功能请求呢?

3 个赞

好的,这里是:Pavilion

3 个赞

完成!:heavy_check_mark::blue_heart: @everyone 请支持这项功能请求!: +1: :blush:

4 个赞

我发布了一个重要的性能修复,消除了重复调用:

因此,用户地图应该能更快地变得响应灵敏。

PS:感谢 @Richie 指出可扩展性挑战并协助我进行测试。

以下是他令人印象深刻的用户地图,证明您可以让此功能支持超过 500 人!:

8 个赞

感谢 @merefield 持续开发该插件 :slight_smile:

6 个赞

当我点击地图上的标记时,重定向会在浏览器控制台中抛出错误:

TypeError: "u is undefined"
    navigatedToPost _application-2f2672bcf25571484a5186c75f87af2bb65928918a5bc5c9932f237dc0636348.js:9981
    routeTo _application-2f2672bcf25571484a5186c75f87af2bb65928918a5bc5c9932f237dc0636348.js:9898
    routeTo _discourse-custom-wizard-05c36c40f360683b056c7ad300041bc66902371a17c22f1686fa56420a8af7c1.js:1655
    afterModel _application-2f2672bcf25571484a5186c75f87af2bb65928918a5bc5c9932f237dc0636348.js:69656
    jQuery 12
    success _application-2f2672bcf25571484a5186c75f87af2bb65928918a5bc5c9932f237dc0636348.js:8950
    jQuery 4
_application-2f2672bcf25571484a5186c75f87af2bb65928918a5bc5c9932f237dc0636348.js:67085:12
    error _application-2f2672bcf25571484a5186c75f87af2bb65928918a5bc5c9932f237dc0636348.js:67085
    jQuery 16
    success _application-2f2672bcf25571484a5186c75f87af2bb65928918a5bc5c9932f237dc0636348.js:8950
    jQuery 4
1 个赞

目前不在支持期内,但会在下一个版本中查看。

你指的是哪张地图?我刚刚在最近的构建中测试了用户地图,运行正常。

2 个赞

这是关于一个地点的话题。

2 个赞

新功能上线!:tada:

按国家限制搜索

我已添加按默认国家限制搜索的功能。该功能默认关闭。

以下是新增的设置项,位于现有相关设置旁边:

这意味着,例如,如果您的网站范围仅限于特定国家,用户将不再看到来自其他国家的地址,而只会获得他们所需的那个国家的地址。

感谢 @Richie 提出并资助此功能,谢谢 Rich!

(顺便提一下,该功能其实已悄悄上线一段时间,但此前未进行宣传)

6 个赞

我真的很喜欢这个功能!谢谢! :slightly_smiling_face:

有一件事我不太明白,而且也没找到相关文档:location_user_profile_format

我使用的是 Location IQ,它生成的地址太长了(街道 + 城市 + 县 + 州 + 国家 + 邮政编码)。如果使用地址格式,我就可以限制这些参数。是这样吗?

所以,如果我只想显示“邮政编码 + 城市 + 街道”,可以通过这个设置来实现吗?

我尝试使用 (address: number) 参数,但对我来说不起作用。我觉得我可能漏掉了什么 :confused: 功能本身很好,但地址中包含太多不必要的信息。

如果您有时间添加一些关于如何设置这方面的说明,我将不胜感激!:blush: 谢谢!

2 个赞

你好!
我正在尝试这个令人惊叹的插件。看起来是一个非常扎实的作品!

我使用它的目的是在交易类别中显示交易地点。

我有几个问题:

  1. 我勾选了 location user avatar(位置用户头像),但我的头像没有显示在地图上。我是不是漏掉了什么?
  2. location map marker category color(位置地图标记类别颜色):能否更改图标形状?当我选择彩色标记时,它对我来说有点太圆了,我更喜欢默认形状。
    image image
  3. location user profile format(位置用户资料格式):我该如何找到地理定位属性的列表?我尝试设置 “address”(地址),但用户偏好设置中的 location(位置)字段仍然是纯文本,没有位置选择器。:thinking:
  4. 如果我点击标记,会出现错误:

控制台输出如下:

    _application-0839e21515af10c83cf59df7b5c45c2f8db9404f82c4186084346bb0a0a9b425.js:63408 
    TypeError: Cannot read property 'refresh' of undefined
    
    _ember_jquery-d0ba1603b80181031290e4bd850857d41d63bc4a081d7b4bf16d4e1a4e355a22.js:36991 Error while 
    processing route: topicBySlugOrId Cannot read property 'refresh' of undefined TypeError: Cannot read 
    property 'refresh' of undefined

    _ember_jquery- 
    d0ba1603b80181031290e4bd850857d41d63bc4a081d7b4bf16d4e1a4e355a22.js:38545 Uncaught TypeError: Cannot read property 'refresh' of undefined

我没有自定义主题组件,至于插件,我只使用了 procourse installer、data explorer 和 discourse locations。

编辑:
我成功解决了第 4 点:

通过在模板 list/topic-liste-item.raw 中添加以下代码:

    {{~#if topic.location}}
      <div class="title-location">
        {{d-icon 'map-marker-alt'}} {{location-format topic.location opts}}{{location-label-container}}
      </div>
    {{~/if}}
4 个赞

我这里也遇到同样的问题:

HTML 代码:

<h3 class="location-and-website">
              <div class="user-profile-location"><svg class="fa d-icon d-icon-map-marker-alt svg-icon svg-string" xmlns="http://www.w3.org/2000/svg"><use xlink:href="#map-marker-alt"></use></svg> 法国</div>
                <div class="user-profile-website">
                  <svg class="fa d-icon d-icon-globe svg-icon svg-string" xmlns="http://www.w3.org/2000/svg"><use xlink:href="#globe"></use></svg>
                    <a href="http://canapin.dev" rel="noopener " target="_blank">canapin.dev</a>
                </div>
              <span id="ember29" class="ember-view">  <div id="ember31" class="user-location-and-website-outlet replace-location ember-view"><!----><div class="user-profile-website">
  <svg class="fa d-icon d-icon-globe svg-icon svg-string" xmlns="http://www.w3.org/2000/svg"><use xlink:href="#globe"></use></svg>
    <span title="http://canapin.dev">canapin.dev</span>
</div>
</div>
</span>
            </h3>
2 个赞

我认为这个问题是因为位置和网站被放在同一个类中。在我开始使用用户位置地图功能后,这个问题就解决了。

1 个赞

与其在帖子顶部显示一个‘显示地图’按钮,我更希望地图能够自适应并在帖子内容的限制内默认最大化。类似这样的方案是否曾被考虑过?

1 个赞

抱歉回复晚了 @Canapin

我想这仅适用于用户地图。

定义形状的逻辑在这里:https://github.com/paviliondev/discourse-locations/blob/b76f5c42401db9d30be3499408f913493f1cdcb7/assets/javascripts/discourse/lib/map-utilities.js.es6。

允许自定义形状可能是一个不错的改进。欢迎提交 PR。

首先启用此选项:

image

然后用户个人资料中将出现一个新设置:

现阶段不必担心更复杂的设置。用户只需开始输入并选择相应的搜索结果即可。

很高兴你找到了解决方案 :slight_smile:

这个问题之前已经有人报告过。我很快就会查看。

2 个赞

你能把这个做出来吗?我不太清楚你具体是什么意思?

1 个赞

  • 地图尺寸可响应式调整(在帖子内容布局内),并支持可选的高度限制
  • 定位在地址文本下方、帖子内容上方
  • 无需“显示地图”按钮
2 个赞

好主意。如果默认提供折叠视图选项,我会非常欢迎。欢迎提交 PR。

2 个赞