Google Maps API - Overlay

Google Maps API - Overlay


بسم الله الرحمن الرحيم
In the name of Allah, the Most Gracious, the Most Merciful

أثناء عملي في أحد المشاريع، طُلب مني إضافة overlay لمنطقة الباحة في المملكة العربية السعودية.
تذكرت أني قمت بتنفيذ نفس الطلب في مشروع آخر قبل حوالي 4 سنوات وتذكرت رحلة البحث الطويلة عن إحداثيات للحدود. وجدت ملف KML (تستخدم لعرض البيانات الجغرافية) يحتوي على الإحداثيات على موقع ويب يوفر ملفات KML لحدود الدول والمناطق، وحولت البيانات في الملف إلى خطوط طول وعرض lng/lat، ثم أضفتها إلى الخريطة overlay.

 // const contains lat/lng coordinates
 const overlayPath = [{lat:20.40994682,lng:42.11893877},{lat:20.40954332,lng:42.11729597},...]; 
 
 // Create overlay from coordinates + adding style
 const Overlay = new google.maps.Polygon({
   paths: overlayPath,
   strokeColor: "#0099dd",
   strokeOpacity: 0.9,
   strokeWeight: 2,
   fillColor: "#0099dd",
   fillOpacity: 0.3,
 });
 
 // Applying overlay to your map instance
 Overlay.setMap(mapInstance);

هذه المرة، قارنت الحدود باستخدام نفس الإحداثيات القديمة مع الخريطة الفعلية لمنطقة الباحة على خرائط Google، ووجدت اختلافًا قد يكون غير ملحوظ لكنه كان يزعجني بعض الشيء! بدأت البحث مرة أخرى عن إحداثيات الحدود التي تطابق خرائط Google - لسوء الحظ ، لا توفر Google هذه الإحداثيات - حتى وجدت مستودعًا على GitHub يوفر إحداثيات حدود دقيقة لجميع المناطق والمدن والأحياء الإدارية في المملكة.


Saudi Arabia Regions Cities and Districts


مجهود جميل وجبار يشكرون عليه.