Ali Shouaa نشر 13 يناير 2022 أرسل تقرير نشر 13 يناير 2022 (معدل) السلام عليكم ، كيف استطيع أن أرفق ملف gpx داخل نشروع رياكت ، بمعنى أني اريد ان أُرسله من قاعدة البيانات بال node js و عرضه في الرياكت كما في الصورة مثلاً و شكرا تم التعديل في 13 يناير 2022 بواسطة Wael Aljamal توضيح السؤال 1 اقتباس
0 Wael Aljamal نشر 13 يناير 2022 أرسل تقرير نشر 13 يناير 2022 تستخدم ملفات GPX في عمليات تتبع الأنشطة ووضعها على الخريطة، ويتم تمثيلها على شكل XML ويمكن رسم هذه البيانات في المتصفح عن طريق استخدام مكتبة Leaflet. سيكون على شكل Track segment فيه Track Points <trkseg> <trkpt lat="47.644548" lon="-122.326897"> .. </trkpt> <trkpt lat="47.644548" lon="-122.326897"> ... </trkpt> <trkpt lat="47.644548" lon="-122.326897"> .. </trkpt> </trkseg> بعد عمل parse للملف عن طريق gpxparser نستخلص منه مصفوفة إحداثيات points ويمكن المرور عليهم بحلقة و نضعهم ضمن Polyline لرسم الخط. تضمين gpxparser يتم عن طريق: npm install --save gpxparser والتضمين في المكون: let gpxParser = require('gpxparser'); أو <script src="./js/GPXParser.js"></script> import 'leaflet/dist/leaflet.css' import React from 'react' import { MapContainer, Polyline, TileLayer } from 'react-leaflet' import 'gpxParser' from 'gpxparser'; const GpxMap = () => { // تعريف غرض للتعامل مع الملف const gpxData = new gpxParser() // نمرر المسار لللمف gpxData.parse(OUR_GPX_CONTENT) // جلب الإحداثيات كمصفوفة نقاط const positions = gpxData.tracks[0].points.map(p => [p.lat, p.lon] return ( // مكون الخريطة <MapContainer // تحديد المركز كأول نقطة center={positions[0]} zoom={9} scrollWheelZoom={false} > // صورة الخرطية // X Y Z إحداثيات الموقع المطلوب <TileLayer url="https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png" /> // رسم ال Tracks <Polyline pathOptions={{ fillColor: 'red', color: 'blue' }} positions={positions} /> </MapContainer> ) } لمعلومات أكثر عن TileLayer 1 اقتباس
السؤال
Ali Shouaa
السلام عليكم ، كيف استطيع أن أرفق ملف gpx داخل نشروع رياكت ، بمعنى أني اريد ان أُرسله من قاعدة البيانات بال node js و عرضه في الرياكت كما في الصورة مثلاً و شكرا
توضيح السؤال
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.