Plugin de Ubicaciones 🌍

Verifica la configuración location users map limit. Si es inferior al número de usuarios que han añadido su ubicación, los que superen el número límite no se mostrarán en el mapa.

5 Me gusta

Eso fue todo. Gracias. :smile:

2 Me gusta

A algunos de mis usuarios les aparece un límite de tasa con el proveedor predeterminado (nominatim) que les hace esperar un minuto antes de volver a intentarlo.

Curiosamente, yo no me encuentro con ningún tipo de límite.

Ver: The location field in profile is kind of broken - Forum Feedback - Unicyclist.com

  1. ¿Alguna idea de por qué yo no encuentro ningún límite mientras que algunos usuarios sí? He intentado escribir nombres de ubicaciones largos mientras escribía rápido.
  2. ¿Cuál sería tu segunda opción para la configuración location_geocoding_provider (para uso gratuito)?
  3. ¿Qué es la configuración location_geocoding_debounce?

Veo que en la política de uso de nominatim dice que “Búsqueda de autocompletado: Nominatim aún no lo admite y no debes implementar dicho servicio en el lado del cliente utilizando la API”.

No hay autocompletado en el botón de ubicación en un nuevo tema, pero sí lo hay en el campo de usuario personalizado:

image

image

chrome_tOtNSZ2dXy

  1. ¿Es este un uso prohibido? :thinking:

Sí y no. Mayormente no. Puede ir en contra del RGPD si la ubicación se obtiene automáticamente sin la acción del usuario Y el sitio está dirigido por una empresa o comunidad, es decir, no por una persona privada, Y no es necesario.

Pero… la geolocalización es realmente inexacta. No sé cómo son las cosas en Francia, pero en Finlandia todos los operadores actúan a nivel nacional, por lo que cada vez que mi IP cambia, cambia mi ubicación y cada vez apunta a la ciudad equivocada.

Y la IP no se considera datos personales, sino más o menos como datos públicos que no se pueden utilizar para identificar a una sola persona.

Pero en el uso del plugin, la geolocalización no está prohibida, no está prohíbida ni es ilegal, porque el usuario quiere mostrarla. Y usar la IP como fuente de ubicación nunca es ilegal.

Sin embargo, puede haber algunos problemas morales más. Pero depende del foro.

Puede que no entienda cómo funciona el plugin en realidad. Tendré que leer todo este tema. Gracias por tu respuesta. :slight_smile:

Solo puedes usar Nominatim para pruebas. Para producción, recomendaría

2 Me gusta

Solo doy seguimiento a esto desde el mes pasado, disculpas, de alguna manera me había perdido las notificaciones de las respuestas :man_facepalming:

Nuestro otro sitio, que muestra el texto más grande, está usando Leaflet v1.5.1

Veo que el plugin Locations era 1.3.4 y ahora es 1.7.1, lo que significa que la versión no es un problema.

De acuerdo.

Solo para recordarles, el texto en nuestro mapa de Locations es tan pequeño que es ilegible.

Ejemplo con capturas de pantalla aquí: Locations Plugin 🌍 - #736 by Richie

Gracias Robert @merefield sí tengo acceso al código fuente del otro sitio donde el texto es más grande pero en el mismo mapa base.

La diferencia, creo, es que se está pasando un parámetro adicional:

tileSize: 512

Se aplica en este contexto:


// Atribución
var mbAttr = 'Mapa &copy; <a href="https://www.openstreetmap.org/">OpenStreetMap</a>, Imágenes © <a href="https://www.mapbox.com/">Mapbox</a>, Contenido &copy; <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'
;


// Mapas base
var
	// Lista completa: https://gis.stackexchange.com/a/244797/145060
	// Lista completa: https://docs.mapbox.com/help/troubleshooting/migrate-legacy-static-tiles-api/#which-classic-styles-are-being-deprecated
	// Lista completa: 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 })
;

Por lo tanto, creo que tengo una solicitud de función :slight_smile:

¿Podemos agregar un tileSize a la configuración del plugin?

¿O puedo pasar de alguna manera el tamaño de mosaico deseado en la configuración Map tile layer uri? :thinking:

Hola,

Creo que he notado un problema con el botón de ubicación del compositor.
Versión de Discourse a6abf8d07a

Gracias :slightly_smiling_face:

1 me gusta

Gracias @Don, puedo reproducirlo, aunque no parece detener el espectáculo, lo revisaré muy pronto.

2 Me gusta

Se debe a un cambio disruptivo en el núcleo de este commit: FIX: Use CSS transition to make room for composer (#16750) · discourse/discourse@9ea8a4a (github.com)

He implementado una solución junto con algunos pequeños ajustes de formato para mejorar la L&F:

4 Me gusta

Gracias Robert :slightly_smiling_face: Realmente aprecio que hayas solucionado esto tan rápido fuera del horario de mantenimiento. Actualizaré pronto y también actualizaré esta publicación sobre cómo funciona. :slightly_smiling_face:

¡Funciona fantástico, gracias de nuevo! :slightly_smiling_face:

1 me gusta

Hola. ¿Alguien sabe si es posible de alguna manera añadir una ubicación a un mapa soltando un marcador con este plugin?

Las ubicaciones de algunas comunidades se encuentran en lugares difíciles de identificar sin el uso de coordenadas, lo que podría disuadir a algunos usuarios de añadir una ubicación. ¡Gracias!

2 Me gusta

Estaba seguro de que alguien había solicitado esto antes, pero no está en la lista actual, hasta donde yo sé.

Las solicitudes de funciones se pueden hacer aquí: Pavilion

Pero tenga en cuenta que solemos estar lo suficientemente ocupados manteniendo los complementos como para que las nuevas funciones sean raras sin que alguien patrocine el trabajo.

También agradeceríamos las PR. Esta es una característica especialmente buena para agregar.

5 Me gusta

Hola,

He notado un problema con la ubicación debajo del título del tema. Si un usuario elimina una ubicación agregada previamente de /preferences/profile, entonces mostrará una ubicación vacía debajo del título del tema en lugar de eliminarla.

Gracias :slightly_smiling_face:

Hola!

He modificado la plantilla list/topic-list-item.raw para mostrar la ubicación en la lista de temas:

    {{#if topic.location}}
      <div>
        {{d-icon 'map-marker-alt'}} {{location-format topic.location opts}}{{location-label-container}}
      </div>
    {{/if}}

Pero creo que mi condición no está escrita correctamente, porque si deshabilito el plugin, el bucle de la lista de temas se rompe.

¿Cuál sería la forma correcta de comprobar si la ubicación del tema existe en la plantilla handlebars?

1 me gusta

Anular esto parece un poco extremo, ¿por qué no usar conectores?:

topic-list-after-title O
topic-list-before-category

Echa un vistazo a An interesting strategy for passing properties via raw template plugin outlets

2 Me gusta

Porque no encontré los correctos (o tal vez no existían en el momento en que modifiqué la plantilla, hace unos 2 años) :sweat_smile:

Probablemente sea más fácil de esta manera, lo intentaré, ¡gracias!


Uh… No logro usar estos conectores.

Cosas aburridas que he intentado y mirado

He leído Developing Discourse Themes & Theme Components.

Suponiendo que así es como agregamos código HTML en un conector:

<script type="text/x-handlebars" data-template-name="/connectors/topic-above-post-stream/test">
  <div style="height: 200px; width: 200px;background: red"></div>
</script>

Intenté

<script type="text/x-handlebars" data-template-name="/connectors/topic-list-after-title/test">
  <div style="height: 200px; width: 200px;background: red"></div>
</script>

Pero no funcionó. ¿Es porque topic-list-item es un archivo .hbr y no un archivo .hbs?

Usé (deprecated) Plugin outlet locations theme component pero los outlets dentro de la lista de temas no aparecen.

También miré esto What is the difference between raw.hbs handlerbar files and only .hbs handlerbar files?.

¿O tal vez solo necesito crear un componente de tema con un archivo adicional, como este https://github.com/discourse/discourse-topic-thumbnails/blob/main/javascripts/discourse/connectors/topic-list-before-link/topic-thumbnail.hbr?

Pero aquí, se crean nuevos conectores, mientras que topic-list-after-title y topic-list-before-category ya existen… Así que estoy un poco perplejo aquí.

2 Me gusta

¿Quizás esto ayude?:

image

image

{{context.topic.location.street}}

image

o incluso mejor:

{{location-format context.topic.location}}

lo que lleva a:
image

que luego puedes refinar con CSS (por ejemplo, mover a una nueva línea).

2 Me gusta

¡Sí, perfecto, ¡muchas gracias Robert!

Entonces, para aquellos que estén interesados, este componente temático simplemente agrega las ubicaciones a la lista de temas.

3 Me gusta

Usar el outlet es mucho más elegante, pero hay un problema.

La ubicación del outlet está justo después del título del tema… Y antes del div de las insignias (donde muestra el punto que indica mensajes no leídos o temas nuevos). El resultado:

No veo una solución fácil para arreglar esto, ni siquiera con CSS (lo intenté).

También creo que pedir un nuevo outlet en Feature no sería lo suficientemente interesante como para ser añadido a Discourse.


Editar: Hice que la insignia esté al lado de la ubicación. Eso servirá.

image

1 me gusta