أكثر

كيفية الحصول على النطاق الحالي في OpenLayers 3

كيفية الحصول على النطاق الحالي في OpenLayers 3


أنا جديد مع OpenLayers 3. أعمل على الإسقاطEPSG: 4326.

يمكنني الحصول على القرار الحالي منview.getResolution ()، ولكني أواجه مشكلة في الحصول على مقياس الخريطة الحالي. من فضلك ، أعطني حلاً في أسرع وقت ممكن.


يوجد أدناه وظيفة للحصول على الدقة من المقياس ، يجب أن تكون قادرًا على التحويل في الاتجاه الآخر باستخدام نفس المنطق:

getResolutionForScale (المقياس ، الوحدات) {var dpi = 25.4 / 0.28 ؛ var mpu = ol.proj.METERS_PER_UNIT [الوحدات] ؛ var inchesPerMeter = 39.37 ؛ إرجاع parseFloat (مقياس) / (mpu * inchesPerMeter * dpi) ؛ }

أعتقد أن المقياس ليس مفيدًا لأجهزة الشاشة ، يمكنك الحصول على المقياس من خلال الحصول على الدقة وضربها مقابل كمية البكسل في الوحدة التي تريدها. تشرح الإجابة الأولى على هذا السؤال ، الحصول على أبعاد الشاشة الفعلية / كثافة البكسل / كثافة البكسل في Chrome على Android ، بتفصيل كبير كيف تتوافق وحدات البكسل المرجعية مع الوحدات الحقيقية ، لذلك يجب أن تكون 96 بكسل مساوية للبوصة ويكون مقياسك 1: (القرار * 96). أعتقد أن الأسلوب الأفضل هو رسم خط مقياس كما تفعل معظم المواقع ، و OpenLayers 3 لديه عنصر تحكم ol.caleLine لذلك.


شاهد الفيديو: ضمن مبادرة السكن. تحديد شروط الحصول على قطع الأراضي