# Locations 插件 🌍

**URL:** https://meta.discourse.org/t/locations-plugin/69742
**Category:** Plugin
**Tags:** paid-support
**Created:** [2017年九月10日 10:36 UTC](https://meta.discourse.org/t/locations-plugin/69742 "2017-09-10T10:36:41Z")
**Posts on this page:** 20
**Page:** 6

<div class="post-metadata">

### Author: ![Stefan\_Fairphone](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/stefan_fairphone/32/119580_2.png) [@Stefan\_Fairphone](https://meta.discourse.org/u/Stefan_Fairphone)
#### Post date: [2020年八月13日 19:40 UTC](https://meta.discourse.org/t/locations-plugin/69742/588 "2020-08-13T19:40:30Z")

</div>

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

---

<div class="post-metadata">

### Author: ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)
#### Post date: [2020年八月13日 19:58 UTC](https://meta.discourse.org/t/locations-plugin/69742/589 "2020-08-13T19:58:08Z")

</div>

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

---

<div class="post-metadata">

### Author: ![Stefan\_Fairphone](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/stefan_fairphone/32/119580_2.png) [@Stefan\_Fairphone](https://meta.discourse.org/u/Stefan_Fairphone)
#### Post date: [2020年八月13日 21:05 UTC](https://meta.discourse.org/t/locations-plugin/69742/590 "2020-08-13T21:05:27Z")

</div>

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

---

<div class="post-metadata">

### Author: ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)
#### Post date: [2020年八月13日 22:56 UTC](https://meta.discourse.org/t/locations-plugin/69742/591 "2020-08-13T22:56:40Z")

</div>

好的，这里是：[Pavilion](https://thepavilion.io/w/feature-request/steps/step_1)

---

<div class="post-metadata">

### Author: ![Stefan\_Fairphone](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/stefan_fairphone/32/119580_2.png) [@Stefan\_Fairphone](https://meta.discourse.org/u/Stefan_Fairphone)
#### Post date: [2020年八月14日 06:38 UTC](https://meta.discourse.org/t/locations-plugin/69742/592 "2020-08-14T06:38:53Z")

</div>

完成！✔💙 [@everyone](https://meta.discourse.org/groups/everyone) 请支持这项功能请求！: +1: 😊

> **[Pavilion](https://pavilion.tech/)**
>
> Pavilion is the leading Discourse consultancy.

---

<div class="post-metadata">

### Author: ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)
#### Post date: [2020年八月24日 11:32 UTC](https://meta.discourse.org/t/locations-plugin/69742/593 "2020-08-24T11:32:52Z")

</div>

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

> <https://github.com/merefield/discourse-locations/pull/52>
>
> …visiting users map

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

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

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

 ![image](https://global.discourse-cdn.com/meta/original/3X/3/8/38f6f83cfffe562ee51022fdd03ac07cbf5dad7b.jpeg)

---

<div class="post-metadata">

### Author: ![Richie](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/richie/32/115110_2.png) [@Richie](https://meta.discourse.org/u/Richie)
#### Post date: [2020年八月24日 14:04 UTC](https://meta.discourse.org/t/locations-plugin/69742/594 "2020-08-24T14:04:50Z")

</div>

感谢 @merefield 持续开发该插件 🙂

---

<div class="post-metadata">

### Author: ![evantill](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/evantill/32/116219_2.png) [@evantill](https://meta.discourse.org/u/evantill)
#### Post date: [2020年九月10日 08:04 UTC](https://meta.discourse.org/t/locations-plugin/69742/595 "2020-09-10T08:04:13Z")

</div>

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

```javascript
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

```

---

<div class="post-metadata">

### Author: ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)
#### Post date: [2020年九月10日 08:19 UTC](https://meta.discourse.org/t/locations-plugin/69742/596 "2020-09-10T08:19:06Z")

</div>

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

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

---

<div class="post-metadata">

### Author: ![evantill](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/evantill/32/116219_2.png) [@evantill](https://meta.discourse.org/u/evantill)
#### Post date: [2020年九月10日 08:21 UTC](https://meta.discourse.org/t/locations-plugin/69742/597 "2020-09-10T08:21:37Z")

</div>

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

---

<div class="post-metadata">

### Author: ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)
#### Post date: [2020年九月15日 09:15 UTC](https://meta.discourse.org/t/locations-plugin/69742/599 "2020-09-15T09:15:06Z")

</div>

新功能上线！🎉

### 按国家限制搜索

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

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

 ![](https://global.discourse-cdn.com/meta/original/3X/e/1/e1cf3f6165fc385865cb1d4a1a5198188fb6308a.png)

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

感谢 @Richie 提出并资助此功能，谢谢 Rich！

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

---

<div class="post-metadata">

### Author: ![Don](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/don/32/228726_2.png) [@Don](https://meta.discourse.org/u/Don)
#### Post date: [2020年九月15日 09:57 UTC](https://meta.discourse.org/t/locations-plugin/69742/600 "2020-09-15T09:57:35Z")

</div>

**我真的很喜欢这个功能！谢谢！** 🙂

有一件事我不太明白，而且也没找到相关文档：`location_user_profile_format`。

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

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

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

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

---

<div class="post-metadata">

### Author: ![Canapin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/canapin/32/119591_2.png) [@Canapin](https://meta.discourse.org/u/Canapin)
#### Post date: [2020年九月16日 10:37 UTC](https://meta.discourse.org/t/locations-plugin/69742/601 "2020-09-16T10:37:02Z")

</div>

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

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

我有几个问题：

1. 我勾选了 **location user avatar** （位置用户头像），但我的头像没有显示在地图上。我是不是漏掉了什么？
2. **location map marker category color** （位置地图标记类别颜色）：能否更改图标形状？当我选择彩色标记时，它对我来说有点太圆了，我更喜欢默认形状。  
 ![image](https://global.discourse-cdn.com/meta/original/3X/5/b/5b07a36b65171e4d797ed3ac78fcff8d68ef9e38.png) ![image](https://global.discourse-cdn.com/meta/original/3X/0/d/0d9d9be6e5221135ca3a1c1c8b4b1d9e827d6efb.png)
3. **location user profile format** （位置用户资料格式）：我该如何找到地理定位属性的列表？我尝试设置 “address”（地址），但用户偏好设置中的 **location** （位置）字段仍然是纯文本，没有位置选择器。🤔
4. 如果我点击标记，会出现错误：  
 ![image](https://global.discourse-cdn.com/meta/original/3X/6/1/61a60bb46bb6bad0bb1fec5a4aba00c002fe97e1.png)

 ![image](https://global.discourse-cdn.com/meta/original/3X/3/e/3e86f7dba3b9cb30cf52a4925f8f1754323e508c.png)

控制台输出如下：

```plaintext
    _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](https://meta.discourse.org/t/32566?silent=true) 和 discourse locations。

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

 ![image](https://global.discourse-cdn.com/meta/original/3X/4/b/4b4fd691a4581f1866feb2407d1af903b617b197.png)

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

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

```

---

<div class="post-metadata">

### Author: ![Canapin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/canapin/32/119591_2.png) [@Canapin](https://meta.discourse.org/u/Canapin)
#### Post date: [2020年九月20日 16:51 UTC](https://meta.discourse.org/t/locations-plugin/69742/602 "2020-09-20T16:51:52Z")

</div>

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

 ![image](https://global.discourse-cdn.com/meta/original/3X/9/e/9e8682ebeb290d0d2fb13991c2d0b6ff4f1119ca.png)

 ![image](https://global.discourse-cdn.com/meta/original/3X/a/7/a750caa90c18421961ab5845c36fdf4e3237f1d8.png)

HTML 代码：

```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>

```

---

<div class="post-metadata">

### Author: ![Don](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/don/32/228726_2.png) [@Don](https://meta.discourse.org/u/Don)
#### Post date: [2020年九月20日 17:01 UTC](https://meta.discourse.org/t/locations-plugin/69742/603 "2020-09-20T17:01:33Z")

</div>

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

---

<div class="post-metadata">

### Author: ![Zup](https://avatars.discourse-cdn.com/v4/letter/z/c37758/32.png) [@Zup](https://meta.discourse.org/u/Zup)
#### Post date: [2020年九月28日 20:18 UTC](https://meta.discourse.org/t/locations-plugin/69742/604 "2020-09-28T20:18:38Z")

</div>

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

---

<div class="post-metadata">

### Author: ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)
#### Post date: [2020年九月29日 10:16 UTC](https://meta.discourse.org/t/locations-plugin/69742/605 "2020-09-29T10:16:57Z")

</div>

抱歉回复晚了 @Canapin

> [@Canapin](#):
>
> 我检查了 **用户头像位置** ，但我的头像没有显示在地图上。我是不是漏掉了什么？

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

> [@Canapin](#):
>
> **位置地图标记类别颜色** ：能否更改图标形状？当我选择彩色标记时，它对我来说有点太圆了，我更喜欢默认形状。

定义形状的逻辑在这里：[https://github.com/paviliondev/discourse-locations/blob/b76f5c42401db9d30be3499408f913493f1cdcb7/assets/javascripts/discourse/lib/map-utilities.js.es6。](https://github.com/paviliondev/discourse-locations/blob/b76f5c42401db9d30be3499408f913493f1cdcb7/assets/javascripts/discourse/lib/map-utilities.js.es6%E3%80%82)

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

> [@Canapin](#):
>
> **用户个人资料位置格式** ：如何查找地理位置属性列表？我尝试设置“地址”，但用户偏好设置中的 **位置** 字段仍然是纯文本，没有位置选择器。🤔

首先启用此选项：

![image](https://cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/0/7/075cfb7d0d50a1f7316ba55aae1ce59ae5b49681.png)

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

 ![image](https://global.discourse-cdn.com/meta/original/3X/f/b/fb6f9d36e86e0275ed046693ba9651b5506d39fc.png)

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

> [@Canapin](#):
>
> 能否在主题列表的主题名称下方显示位置？这样用户一眼就能看到销售地点（这很重要，因为这是一个国际论坛）

很高兴你找到了解决方案 🙂

> [@Canapin](#):
>
> 如果我点击标记，会出现错误：

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

---

<div class="post-metadata">

### Author: ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)
#### Post date: [2020年九月29日 10:47 UTC](https://meta.discourse.org/t/locations-plugin/69742/606 "2020-09-29T10:47:43Z")

</div>

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

---

<div class="post-metadata">

### Author: ![Zup](https://avatars.discourse-cdn.com/v4/letter/z/c37758/32.png) [@Zup](https://meta.discourse.org/u/Zup)
#### Post date: [2020年九月29日 13:30 UTC](https://meta.discourse.org/t/locations-plugin/69742/607 "2020-09-29T13:30:11Z")

</div>

![map discourse](https://global.discourse-cdn.com/meta/original/3X/2/7/2702a857cb787742c28ff7161d4525197e01fc46.png)

- 地图尺寸可响应式调整（在帖子内容布局内），并支持可选的高度限制
- 定位在地址文本下方、帖子内容上方
- 无需“显示地图”按钮

---

<div class="post-metadata">

### Author: ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)
#### Post date: [2020年十月1日 08:03 UTC](https://meta.discourse.org/t/locations-plugin/69742/608 "2020-10-01T08:03:19Z")

</div>

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

[上一頁](https://meta.discourse.org/t/locations-plugin/69742.md?page=5)

[下一頁](https://meta.discourse.org/t/locations-plugin/69742.md?page=7)
