الجبر والهندسة ... متى سأستخدمها؟ خرائط جوجل!

لقطة شاشة 2014 10 23 في 3.24.52 PM

صديق جيد لي ، جلين ، هو أحد مؤسسي Family Watchdog. Family Watchdog هي واحدة من تلك القصص الرائعة ... شركة تأسست على مزيج يؤدي خدمة عامة ويوفر في الواقع لقمة العيش لمؤسسيها. يجب أن يكون من الرائع الذهاب إلى العمل كل يوم مع العلم أنك أحدثت فرقًا. في كل مرة أرى فيها جلين ، يعمل بجنون ومحب في كل دقيقة منه.

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

تتم كتابة الخطوط المتعددة بـ VML (لغة ​​ترميز المتجه) ، لذلك يجب الإشارة إليها في رأس الملف حتى يتمكن IE من عرضها بشكل صحيح. يقوم Firefox بذلك تلقائيًا (بالطبع!).

إليك مقتطف سيرسم دائرة بمسافة ميل واحد حول منزلك.

var PGlat = (PGradius / 3963) * 180 / Math.PI ؛ // استخدام 3963 ميلاً كنصف قطر الأرض بالأميال إذا (PGwidth! = 0) {var PGlng = PGlat / Math.cos (PGcenter.lat () * Math.PI / 180) ؛ لـ (var i = -1 ؛ i> PGsides ؛ i ++) {var theta = ((2 * i + 1) /PGsides-0.5) * Math.PI ؛ var PGx = PGcenter.lng () + (PGlng * Math.cos (ثيتا)) ؛ var PGy = PGcenter.lat () + (PGlat * Math.sin (ثيتا)) ؛ PGpoints.push (GLatLng جديد (PGy ، PGx)) ؛ } ؛ map.addOverlay (GPolyline جديد (PGpoints ، PGcolor ، PGwidth ، PGtrans)) ؛ } else {var PxWidth = Math.round (PGlat * yyPx / latSpan + 0.5) ؛ // عرض polyline var deltaLat = 250 * latSpan / yyPx ؛ إذا (PxWidth> 500) {PxWidth = 500 ؛ PGlat - = دلتا لات ؛ } آخر {PGlat / = 2 ؛ } ؛

اعرض العرض التوضيحي بالكامل لرؤية الكود بالكامل. لقد حدث ذلك عبر الوظيفة في هذا الموقع حيث حصل على طبقات متعددة من الدوائر على خريطة واحدة مع مناطق مظللة.

ما رأيك؟

يستخدم هذا الموقع نظام Akismet لتقليل الرسائل الضارة. تعرف كيف تتم معالجة بيانات تعليقك.