Плагин Locations 🌍

Можно предположить, что речь идёт о «Roadmap» (дорожной карте), то есть об опции автоматического определения местоположения по IP-адресу с возможностью для отдельных пользователей или сайта отказаться от этого.

Однако я не планирую разрабатывать это бесплатно.

Для этого потребуется финансирование (или качественное PR-предложение с правильными техническими решениями и тестами).

Такую функцию уже запрашивали ранее, но никто не выделил достаточного финансирования.

1 лайк

Извините за медленный ответ!

  • как надёжно воспроизвести проблему: можете ли вы предоставить точные шаги?
  • какую версию Discourse вы используете?
  • что вы видите в HTML (используя инспектор)?
  • видите ли вы какие-либо сообщения об ошибках в консоли или логах?
  • что записано в пользовательском поле для geo_location? Посмотрите в /u/<username>.json

Я использую этот замечательный плагин уже много лет.

В последнее время я столкнулся с трудностью. Когда я создаю новую тему и пытаюсь добавить к ней местоположение, например, Батинду, и ищу её в диалоге создания новой темы, результаты отображаются корректно/как ожидалось.

Однако, когда я ищу другой город — Патиалу (оба города являются районами в одном индийском штате Пенджаб, и оба корректно отображаются при поиске на OpenStreetMap), результаты поиска оказываются пустыми/поиск не работает.

Это также происходит с другими районами/городами. В некоторых случаях эти районы, которые я ищу, являются очень крупными и известными городами, но их не удаётся найти, тогда как более мелкие и менее известные города находятся без проблем.

В чём может быть причина?

Интересно. У вас возникает та же проблема с другими провайдерами геокодирования?

1 лайк

Я не мог выбрать другого провайдера, так как ‘Nominatim’ был по умолчанию и самым простым в настройке. Если я выбирал любого другого провайдера, возникала ошибка:

Однако после того, как вы предложили эту идею, я поискал и нашёл способ получить API-ключ для OpenCageData (это заняло 2 минуты). Затем я ввёл этот API-ключ в настройках плагина (и только после этого изменил имя провайдера на OpenCageData). И, как говорится, чудо свершилось: ошибка больше не появлялась, а исходная проблема с невозможностью поиска и нахождения ‘Патиаля’ (и многих других городов) также исчезла.

Итак, ВСЁ ТЕПЕРЬ В ПОРЯДКЕ. СПАСИБО!

P.S. Я бы хотел, чтобы ссылка ‘Provider Details’, отображаемая под ошибкой красного цвета, вела на страницу самого провайдера (а не на страницу GitHub), где пользователь мог бы запросить генерацию API-ключа. Это было бы огромной помощью.

1 лайк

Это статично, поэтому, думаю, это невозможно. PR приветствуется!

Рад, что вы всё решили!

1 лайк

Здравствуйте, я просто хочу показать флаг страны. Возможно ли это с помощью этого плагина или он предназначен только для отображения местоположения через GPS?

1 лайк

Настроив параметры этого плагина, вы можете задать одну конкретную локацию (надеюсь, и страну тоже), которая будет автоматически устанавливаться для всех новых тем. Таким образом, эта локация всегда будет отображаться во всех последующих темах (при создании темы любой пользователь, если захочет, сможет изменить название страны или локацию).

image

Здравствуйте! Есть ли шанс исправить эту проблему? Спасибо :slightly_smiling_face:

2 лайка

Я смог воспроизвести это. Я займусь этим на этой неделе.

Извините, платные заказы в приоритете :sweat_smile:

3 лайка

@Дон, не могли бы вы проверить это обновление, пожалуйста?

1 лайк

Спасибо большое, Роберт :hugs: Теперь всё, кажется, работает нормально, но я заметил, что когда я перехожу на профиль другого пользователя (у которого не указан город), например, из раздела «Обзор», проявляется то же самое поведение. Если же я перехожу на профиль с главной страницы или из других разделов сайта, всё работает отлично. Возможно, это связано с анимацией загрузки.

1 лайк

Можете уточнить, на что именно вы нажимаете для этого перехода? (предположительно, из раздела «Обзор» в «Обзор»?). Оба пользователя должны были указывать местоположение ранее? У первого пользователя заполнено поле местоположения? Короче говоря, пожалуйста, опишите точные шаги для воспроизведения проблемы :slight_smile:

Да, это верно. Такое же поведение наблюдается везде в /u/, если перейти к сводке другого пользователя, который не указал местоположение.
Например:

Подождите, я отправлю вам видео в личные сообщения с подробностями этой проблемы. :slightly_smiling_face:

1 лайк

А, всё в порядке, я воспроизвёл.

Да, это не очень хорошо.

Кажется, в какой-то момент это потребует рефакторинга с переходом на Glimmer.

Учитывая, что это пограничный случай, я, вероятно, не скоро до этого доберусь, приношу извинения.

1 лайк

Это напоминает мне Birthday cake emoji displayed on profile when its not your birthday и Wrong number of user notes

2 лайка

Да, отличная находка, @Moin!

Интересно, не кроется ли здесь какая-то более фундаментальная проблема :thinking:

Кстати, вы оба отлично заметили этот пограничный случай!

2 лайка

Хорошо, выглядит это так, будто код не переоценивается после перехода, потому что setupComponent не вызывается снова.

Это почти наверняка общая проблема, не специфичная для Locations.

Подозреваю, что решение — использовать какой-нибудь модификатор {{did-update}} в Glimmer. Но это сработает только в том случае, если Ember считает состояние данных «изменённым» :thinking:

3 лайка

@Don ОК, я перенёс это в Glimmer (заметьте ужасную опечатку в комментарии к коммиту :sweat_smile:), и теперь это может работать лучше. Дайте знать, как у вас получится!

(Примечание для разработчиков: геттеров хватило для смены профиля, но всё ещё потребовалась (к сожалению, необходимая?) модификация класса с манипуляцией DOM, что требовало модификатор)

3 лайка

Прекрасно :heart_eyes: Большое спасибо, Роберт, работает отлично :hugs:

2 лайка