The oncontextmenu event isnt fired when im in 3d mode

The oncontextmenu event isnt fired when im in 3d mode.

helphelphelp...




Answer this question

The oncontextmenu event isnt fired when im in 3d mode

  • Rory Clark

    Yep... that's the problem we're facing. We were able to figure out transparent iframes only to see the 2D map as the background instead of the 3D map as expected.


  • The_magament

    Any one have any thoughts about how to add a shim for a non-rectangular based control Perhaps a shim for the rounded panels in Atlas (http://atlas.freshlogicstudios.com/)


  • NetDragonKing

    So rectangular windows for now.

    In the future maybe there will be a way to generate our toolbars within the 3D environment

    John.



  • JH2609

    You won't be able to get non-rectangular regions to shim correctly. The issue is that the new 3D control is a seperate window. All Windowed objects will always draw in front of all windowless elements (like Div's).

    The iFrame is an odd beast in that it is a Windowed object and has a Window z-order, but also has a windowless z-order that it obeys. So the shims created for 3D view have a Window z-order in front of the 3D control, but a windowless z-order behind everything else on the page. This effectively punches a rectangular hole through the 3D control, showing what's behind it. Adjusting the transparency on the shim will only affect display of the elements in the page behind the 3D control. There's no way to create non-rectangular regions.

    You could make up a non-rectangular region by using multiple rectangular iFrames, but performance would be very poor if there were more than a few.


  • lascucarachas

    On viavirtualearth is an article about the issue, my event is fired, but the contextmenu isnt displayed, i will have to use iframes for content overlapping the 3dmap( sh1tsh1tsh1t), because thats the only html element that will be rendered above the map.

  • Dietz

    It fires for me.

    I've noticed that displaying a pushpin or route in the 3d mode can take a long time. My oncontextmenu event method does some AJAX calls then plots the point on the map and everything works fine except the pushpin can take about a minute to load.

  • Olle SW

    The issue is it you need set the background of an iframe to transparent.

    From Romania -

    You have to resolve 2 (two) things:

    First, in the main page, where you have the <iframe> tag, add this simple attribute:

    allowtransparency="true"

    Example:

    <iframe name="info" src="main.html" width="561" height="479" scrolling="auto" align="top" frameborder="0" marginwidth="0"
    marginheight="0" allowtransparency="true">
    // some code for browsers who are not able to view the <iframe> tag
    </iframe>

    Second, you have to put the transparency to the pages that should load into the <iframe>, with CSS like this:

    <style type="text/css">
    <!-- BODY {background:none transparent;}-->
    </style>

    Now how do we go about this with the shim in VE

    the first bit is easy but i can't work out how to set the body of the shim....

    var s = document.createElement("iframe");
    s.id = sid;
    s.frameBorder =
    "0";
    s.style.position =
    "absolute";
    s.style.zIndex =
    "1"; s.style.top = el.offsetTop;
    s.style.left = el.offsetLeft;
    s.width = el.offsetWidth;
    s.height = el.offsetHeight;
    s.allowtransparency =
    "true";
    s.scrolling=
    "no";
    s.className=
    "Shim";
    el.shimElement = s;
    el.parentNode.insertBefore(s, el);

    then in css tring:

    .Shim BODY {background: none transparent;}

    With no luck so far

    John.



  • vbjunkie

    Yep; you have to build a shim for everything. It is pretty easy to build a single function called AddShim() that adds a shim for any element you create.


  • bhavu

    ok it does work just change the style to:

    .Shim {filter: chroma(color="#FFFFFF");

    but guess what it shows the 2d map not the 3d map!! doh!

    Not giving up.....

    John.



  • The oncontextmenu event isnt fired when im in 3d mode