1

私はに基づいて解決策に取り組んでいました

http://www.giscloud.com/sandbox/jsapi/html5/?mid=11695

15 行目に、インポートが表示されます (読みやすいように複数行に分けられています)。

<script type="text/javascript"
        src="http://maps.google.com/maps/api/js?sensor=false">
</script>

先週、v3.9 (現在は凍結) の代わりに v3.10 (リリース) のロードを開始しました。

このページからわかる問題は、キャンバスが他の 6 つのレイヤー (参照: MapPanes ) のかなり下にある "MapPane" レイヤーに読み込まれていることです。そのレイヤーはインタラクティブではありません。

誰かがそのような問題に遭遇したことがありますか、それとももっと良いことに、リンクのソリューションを使用していて、v3.10 にアップグレードしましたか?

JSフィドル


より詳しい情報

v3.9 では、マップ ペインは次のように配置されます。

<div .. (parent)
    <div .. z-index:100.. >   --- << changed to 150
    <div .. z-index:101.. >
    <div .. z-index:102.. >
    <div .. z-index:103.. >
    <div .. z-index:104.. >
    <div .. z-index:105.. >
    <div .. z-index:106.. >

ソリューションのコードは、API の意図に反する最初のペイン ("MapPane") の z-index を操作します...

el.map.getDiv().firstChild.firstChild.firstChild.firstChild.style.zIndex=150

overlayMouseTargetその上に移動する必要がある(105) およびfloatPane(106) レイヤーを使用するため、私のカスタム ソリューションでは代わりに 104 に設定します。

v3.10 では、次のように再配置されました (z インデックス 100 ~ 106 を確認できます)。

<div .. (parent)
    <div .. z-index:200.. >
        <div .. z-index:101.. >
    <div .. z-index:201.. >
        <div .. z-index:102.. >
        <div .. z-index:103.. >
    <div .. z-index:202.. >
        <div .. z-index:104.. >
        <div .. z-index:105.. >
        <div .. z-index:106.. >
    <div .. z-index:100.. >
         < overlay tile divs >  --<< the divs parenting the canvases in the solution
             <canvas ... >

適切な「修正」は、タイルをfloatShadowMapPane に移動することだと考えていますが、ソリューションを支えているように見える OverlayMapType が提供するタイル化の利点を提供しますか?

4

2 に答える 2

0

ペインへの直接アクセスは良い方法ではありません。ペインを正しく取得するには、コードを次のようにする必要があります。

var dummyLayer = new google.maps.OverlayView();
dummyLayer.onAdd = function() {
  var panes = this.getPanes();
  console.log(panes.mapPane);
  panes.mapPane.style.zIndex = 500;
};
dummyLayer.onRemove = function() {};
dummyLayer.draw = function() {};
dummyLayer.setMap(map);
于 2012-11-29T01:58:37.920 に答える