Проверьте настройку 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-адрес не считается персональными данными, а скорее общедоступными, которые нельзя использовать для идентификации конкретного человека.
Однако использование плагина геолокации не запрещено, не запрещено законом и не является незаконным, если пользователь сам хочет это показать. А использование IP в качестве источника данных о местоположении никогда не является незаконным.
Тем не менее, могут возникать некоторые этические вопросы. Но это зависит от конкретного форума.
На самом деле, возможно, я неправильно понял, как работает этот плагин. Мне нужно будет прочитать всю эту тему. Спасибо за ваш ответ. ![]()
Nominatim можно использовать только для тестирования. Для использования в производственной среде я рекомендую
Продолжаю тему с прошлого месяца, приношу извинения — somehow я пропустил уведомления о ответах ![]()
Наш другой сайт, где текст отображается крупнее, использует Leaflet v1.5.1.
Я вижу, что плагин Locations был версии 1.3.4, а теперь стал 1.7.1, значит, версия не является проблемой.
Согласен.
Напомню всем, что текст на нашей карте Locations настолько мал, что его невозможно прочитать.
Пример со скриншотами здесь: Locations Plugin 🌍 - #736 by Richie
Спасибо, Роберт @merefield, да, у меня есть доступ к исходному коду другого сайта, где текст крупнее, но используется та же базовая карта.
Разница, как я полагаю, в том, что передается дополнительный параметр:
tileSize: 512
Он применяется в следующем контексте:
// Атрибуция
var mbAttr = 'Карта © <a href="https://www.openstreetmap.org/">OpenStreetMap</a>, Изображения © <a href="https://www.mapbox.com/">Mapbox</a>, Контент © <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'
;
// Базовые карты
var
// Полный список: https://gis.stackexchange.com/a/244797/145060
// Полный список: https://docs.mapbox.com/help/troubleshooting/migrate-legacy-static-tiles-api/#which-classic-styles-are-being-deprecated
// Полный список: 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? ![]()
Здравствуйте,
Кажется, я заметил проблему с кнопкой расположения композитора.
Версия Discourse a6abf8d07a
Спасибо ![]()
Спасибо, @Don, я смог воспроизвести. Хотя это, похоже, не останавливает работу, я займусь этим очень скоро.
Это связано с ломающим изменением из этого коммита в ядре: FIX: Use CSS transition to make room for composer (#16750) · discourse/discourse@9ea8a4a (github.com)
Я внес исправление вместе с несколькими небольшими правками форматирования для улучшения внешнего вида и удобства использования:
Спасибо, Роберт
Я очень ценю, что вы исправили это так быстро, вне времени обслуживания. Я скоро обновлюсь и также обновлю этот пост о том, как это работает. ![]()
Работает отлично, спасибо еще раз! ![]()
Привет. Подскажите, пожалуйста, можно ли как-то добавить локацию на карту, просто поставив метку с помощью этого плагина?
Местоположения некоторых сообществ находятся в местах, которые трудно определить без использования координат, что может отпугнуть некоторых пользователей от добавления локации. Спасибо!
Я был уверен, что кто-то уже запрашивал это ранее, но, насколько я вижу, этого нет в текущем списке.
Предложения по новым функциям можно оставить здесь: Pavilion
Однако имейте в виду, что мы обычно достаточно заняты поддержкой плагинов, поэтому новые функции появляются редко, если только кто-то не спонсирует эту работу.
Мы также будем рады получить pull-запросы. Это особенно хорошая функция для добавления.
Здравствуйте,
Я заметил проблему с отображением местоположения под заголовком темы. Если пользователь удаляет ранее добавленное местоположение через /preferences/profile, то под заголовком темы отображается пустое поле вместо того, чтобы скрыть его.
Спасибо ![]()
Привет!
Я модифицировал шаблон list/topic-list-item.raw, чтобы отображать местоположение в списке тем:
{{#if topic.location}}
<div class="title-location">
{{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?
Я использовал (deprecated) Plugin outlet locations theme component, но выходы внутри списка тем не отображаются.
Я также изучил это: What is the difference between raw.hbs handlerbar files and only .hbs handlerbar files?.
Или, может быть, мне просто нужно создать компонент темы с дополнительным файлом, как здесь 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 (например, перенести на новую строку).
Да, отлично, большое спасибо, Роберт!
Итак, для тех, кто заинтересован: этот компонент темы просто добавляет локации в список тем.
Использование аутлета — гораздо более элегантное решение, но есть проблема.
Расположение аутлета находится сразу после заголовка темы… и перед блоком бейджей (где отображается точка, указывающая на непрочитанные сообщения или новые темы). В результате:
Я не вижу простого способа исправить это, даже с помощью CSS (я пробовал разные варианты).
Также мне кажется, что запрос на добавление нового аутлета в #feature не будет достаточно значимым, чтобы его включили в Discourse.
Редакция: Я сделал так, чтобы бейдж располагался рядом с местом размещения. Это должно подойти.






