كيف يمكنني وضع HTML Div على البرنامج المساعد Google Earth؟ تتخيل wmode ، أتصور

StackOverflow https://stackoverflow.com/questions/506984

سؤال

أواجه مشكلة وضع HTML DIV على مكونات Google Earth في تطبيق الويب ، سيكون موضع تقدير أي مساعدة.

لا بأس في الخريطة والتضاريس والوضع المختلط ، ولكن على "أرض'الوضع ، يركل الفلاش ويضع الخريطة تلقائيًا في الأعلى.

Z-indexing لا يساعد.

من المفترض أن أفعل شيئًا مثل:

document.getElementById('flashDiv').setAttribute('wmode', 'opaque');

ولكن بالنظر إلى أن أشياء Google يتم تجميعها أثناء الطيران ، فإنها تجعل الأمر أكثر صعوبة. لم يساعد عرض الكود الذي تم إنشاؤه هنا. مرة أخرى ، نظرًا لتجميعها أثناء الطيران ، لا يمكن لأشياء مثل SWFObject أن تنقذ اليوم ...

هل واجه أي شخص أي شيء مماثل؟ لقد أمضيت الصباح في صيد مجموعة Google Earth API دون فائدة كبيرة.

تحديث: بعد مزيد من التخلص من الشعر ، قد تكمن الإجابة مع iframe shim. ربما قفزت أيضًا إلى استنتاج مفاده أن البرنامج المساعد يعتمد على الفلاش. التحقيق ...

alt text
(مصدر: googlepages.com)

هل كانت مفيدة؟

المحلول

وضعت عرضًا تجريبيًا يوضح كيفية استخدامه IFRAME الحشوات هنا:

http://earth-api-samples.googlecode.com/svn/trunk/demos/customControls/index.html

نصائح أخرى

لا يوجد دعم مباشر لتراكب "z-indexing" A Div إما في API أو DOM. يقوم المكون الإضافي بتحميل ملف قابل للتنفيذ ، بعبارات بسيطة للغاية ، يثقب حفرة في نافذة المتصفح. يعد استخدام تقنية "Iframe Shim" هو الحل البديل القياسي على الرغم من أن الشفافية يمكن أن تكون صعبة.

هناك افتح طلب الميزة لكي يتم إضافة هذه الوظيفة إلى API - يحتوي قسم التعليقات على بعض المعلومات والروابط الجيدة.

أيضا ، هناك رائع على الإنترنت العرض التوضيحي لهذا هنا

إذا كان مكونًا إضافيًا ، فلا يمكنك وضع عناصر أخرى بشكل موثوق فوقه. عادةً ما تترك المتصفحات معظم قدرتها على "طبقة" عناصر عندما يتم إشراك الإضافات.

أعتقد أن iframe قد يكون وسيلة حوله ، طالما أنك تحقق من أن هذا لا يزال يعمل على معظم المتصفحات.

بعد النظر في طريقة تضمين Google للمستخدمين ، يبدو أنه مع iframe. ومع ذلك ، إذا واجهت أي مشكلات مع فلاش ، انظر أدناه ...

ركض في مواقف مماثلة مع محاولة عرض التنقل المنسد على عنصر فلاش (أو HTML عبر فيديو على YouTube). كان هناك بعض العوامل التي دخلت حيز التنفيذ.

الأول كان عنصر HTML الخاص بي الذي أردت أن أحومه فوق عنصر الفلاش يجب أن يكون عنصر HTML الأخوة مع خصائص CSS المحددة لكل عنصر الأخوة وأيضًا لـ Div الوالد. لذلك ، على سبيل المثال:

<div id="parent">
  <div id="sibling"></div>
  <embed id=”flash”><other script code></embed>
</div>

ثم سيكون CSS الخاص بي

//.parent may not need to be set to relative
#parent   { position: relative; }
// the value on sibling1 just needs to be higher than .sibling2
#sibling  { position: relative; z-index: 20; }
#flash    { position: relative; z-index: 10; display:inline }

الشيء الآخر الذي يستحق الإشارة إليه هو أن Flash يحتاج إلى تعيين معلمة WMode على شفاف.

لقد نجحت هذه الخدعة في العديد من تطبيقات الفلاش بالإضافة إلى فيديو YouTube - الحيلة هي التأكد HTML لعرضه فوق الفلاش أعلى من عنصر الفلاش ، يتمتع كل من عناصر HTML بتعيين وضعهما على إما نسبيًا أو مطلقًا ، ويتم ضبط معلمة WMode على شفافة.

نأمل أن يساعد هذا - لكن تخميني هو أن مشكلتك هي مع iframe.

قم بتعيين "iframe" Z-Index إلى 100

وقم بتعيين Div الذي يعرض على مؤشر Z إلى 200 (يجب أن يكون Div على المركز الشرقي قريب)

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top