تحقق من الإعداد 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 ويجب عليك عدم تنفيذ مثل هذه الخدمة من جانب العميل باستخدام واجهة برمجة التطبيقات."
لا يوجد إكمال تلقائي في زر الموقع في موضوع جديد، ولكن يوجد واحد في حقل المستخدم المخصص:



- هل هذا استخدام محظور؟

نعم، ولا. في الغالب لا. قد يكون ضد اللائحة العامة لحماية البيانات (GDPR)، إذا تم الحصول على الموقع تلقائيًا دون إجراء من المستخدم، وكان الموقع تديره شركة أو مجتمع، وليس شخصًا خاصًا، ولم يكن ضروريًا.
ولكن… تحديد الموقع الجغرافي غير دقيق حقًا. لا أعرف كيف تسير الأمور في فرنسا، ولكن في فنلندا، تعمل جميع شركات الاتصالات على مستوى البلاد، لذا في كل مرة يتغير فيها عنوان IP الخاص بي، يتغير موقعي، وفي كل مرة يشير إلى المدينة الخطأ.
ولا يعتبر عنوان IP بيانات شخصية، بل هو بيانات عامة يمكن استخدامها لتحديد هوية شخص واحد.
ولكن في استخدام المكون الإضافي، لا يُحظر تحديد الموقع الجغرافي أو يُمنع أو يُعتبر غير قانوني، لأن المستخدم يريد عرضه. واستخدام عنوان IP كمصدر للموقع ليس غير قانوني أبدًا.
قد تكون هناك بعض القضايا الأخلاقية الأخرى، على الرغم من ذلك. ولكن هذا يعتمد على المنتدى.
قد أسيء فهم كيفية عمل المكون الإضافي بالفعل. سأضطر إلى قراءة هذا الموضوع بأكمله. شكراً على ردك. ![]()
يمكنك استخدام Nominatim للاختبار فقط. للاستخدام الإنتاجي، أوصي بـ
متابعة لهذا الموضوع من الشهر الماضي، أعتذر، لقد فاتني بطريقة ما أي إشعارات بالردود ![]()
موقعنا الآخر، الذي يعرض النص الأكبر، يستخدم Leaflet v1.5.1
أرى أن إضافة المواقع كانت 1.3.4 وهي الآن 1.7.1، مما يعني أن الإصدار ليس مشكلة.
أتفق.
لتذكير الجميع، النص صغير جدًا على خريطة المواقع الخاصة بنا بحيث لا يمكن قراءته.
مثال مع لقطات شاشة هنا: Locations Plugin 🌍 - #736 by Richie
شكرًا روبرت @merefield نعم، لدي وصول إلى مصدر الموقع الآخر حيث النص أكبر ولكن على نفس الخريطة الأساسية.
أعتقد أن الاختلاف هو أنه يتم تمرير معلمة إضافية:
tileSize: 512
تم تطبيقه في هذا السياق:
// الإسناد
var mbAttr = 'الخريطة &نسخ; \u003ca href=\"https://www.openstreetmap.org/\"\u003eOpenStreetMap\u003c/a\u003e، الصور © \u003ca href=\"https://www.mapbox.com/\"\u003eMapbox\u003c/a\u003e، المحتوى &نسخ؛ \u003ca href=\"https://GreyArro.ws/\"\u003eGrey Arrows Drone Club\u003c/a\u003e'،
mbUrl = 'https://api.mapbox.com/styles/v1/mapbox/{id}/tiles/{z}/{x}/{y}?access_token=\u003c%=Variabs.GlobalVariables.strOpenStreetMapKey%\u003e'،
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؟ ![]()
شكرا @Don يمكنني تكرار المشكلة، على الرغم من أنها لا تبدو أنها توقف العرض، سألقي نظرة في وقت قريب جدًا
هذا بسبب تغيير جذري من هذا الالتزام في النواة: FIX: Use CSS transition to make room for composer (#16750) · discourse/discourse@9ea8a4a (github.com)
لقد دفعت إصلاحًا مع بعض التعديلات الطفيفة في التنسيق لتحسين المظهر والأسلوب:
شكرا لك روبرت
أنا أقدر حقًا إصلاحك هذا بسرعة خارج وقت الصيانة. سأقوم بالتحديث قريبًا وسأقوم بتحديث هذا المنشور أيضًا حول كيفية عمله. ![]()
يعمل بشكل رائع شكرا لك مرة أخرى! ![]()
مرحباً. هل يعرف أحد ما إذا كان من الممكن بطريقة ما إضافة موقع إلى خريطة عن طريق إسقاط دبوس باستخدام هذا المكون الإضافي؟
مواقع بعض المجتمعات موجودة في أماكن يصعب تحديدها دون استخدام الإحداثيات، مما قد يثني بعض المستخدمين عن إضافة موقع. شكراً!
كنت متأكدًا من أن شخصًا ما طلب هذا من قبل ولكنه ليس في القائمة الحالية على حد علمي.
يمكن تقديم طلبات الميزات هنا: Pavilion
ولكن يرجى ملاحظة أننا عادة ما نكون مشغولين بما يكفي بصيانة الإضافات لدرجة أن الميزات الجديدة نادرة بدون شخص يرعى العمل.
نرحب أيضًا بطلبات السحب (PRs). هذه ميزة جيدة بشكل خاص لإضافتها.
مرحباً،
لاحظت مشكلة في الموقع تحت عنوان الموضوع. إذا قام المستخدم بإزالة موقع تم إضافته مسبقًا من /preferences/profile
فإن ذلك سيؤدي إلى عرض موقع فارغ تحت عنوان الموضوع بدلاً من إزالته.
شكراً لك ![]()
أهلاً!
لقد قمت بتعديل قالب list/topic-list-item.raw لعرض الموقع في قائمة المواضيع:
{{#if topic.location}}
<div>
{{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
لأنني لم أجد المناسبة (أو ربما لم تكن موجودة في الوقت الذي قمت فيه بتعديل القالب، منذ حوالي عامين) ![]()
ربما يكون هذا هو الأسهل، سأجرب ذلك، شكرًا!
أوه… لا يمكنني استخدام هذه الموصلات.
الأشياء المملة التي جربتها ونظرت إليها
لقد قرأت 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 (على سبيل المثال، نقلها إلى سطر جديد).
نعم، ممتاز، شكرًا جزيلاً لك روبرت!
إذًا، لمن يهتم، فإن مكون السمة هذا يضيف ببساطة المواقع إلى قائمة المواضيع.
استخدام المنفذ أكثر أناقة، ولكن هناك مشكلة.
يقع منفذ الموقع بعد عنوان الموضوع مباشرةً… وقبل div الشارات (حيث يظهر النقطة التي تشير إلى الرسائل غير المقروءة أو المواضيع الجديدة). النتيجة:
لا أرى حلاً سهلاً لإصلاح هذا، حتى مع CSS (لقد جربت أشياء).
أعتقد أيضًا أن طلب منفذ جديد في Feature لن يكون مثيرًا للاهتمام بما يكفي لإضافته إلى Discourse.
تعديل: لقد جعلت الشارة بجوار الموقع. هذا يكفي.






