2016-07-05 13 views
1

に隠さにGeoJSONは、私が2層角度リーフレット - あなたはOSMは、OpenStreetMapのと上の他のあるPNGの画像で見ることができるようにレイヤ変更

まず層

layers: { 
    baselayers: { 
     osm: { 
      name: 'OpenStreetMap', 
      url: 'http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', 
      type: 'xyz', 
      visible : false, 
      layerParams: { 
       showOnSelector: true 
      } 
     }, 
     vplan: { 
      name: 'vplan', 
      type: 'imageOverlay', 
      url: 'img/map.png', 
      visible : false, 
      bounds: [[config.bottomLeftLat, config.bottomLeftLong], [config.topRightLat, config.topRightLong]], 
      layerParams: { 
       showOnSelector: true, 
       noWrap: false, 
       opacity : 0.6 
      } 
     }, 
    } 
} 

とリーフレットマップを持っています。 両方のレイヤーがレイヤーセレクタで利用可能 - OK

毎秒私はgeoJsonデータを取得するためにHttpリクエストを行います。

マップとページ着陸するとき、にGeoJSONはオープンストリートマップ上に示されている
$scope.geojson = $http.get(...); 

- OK

私の問題は、他の層(PNG画像)に切り替えたときにGeoJSONであることですもはや層の上ではなく後ろにある。 0.6への不透明度を設定した後、私は背後にGeoJSONを見ることができます。

どのようにしてgeoJson をすべてのレイヤーの上に表示することができますか?

答えて

1

あなたは(ポイントを除いて、一般的に、あなたにGeoJSONデータから)、すべてのベクタレイヤーをリーフレットバージョン0.7.7(またはそれ以下)を使用している場合は、単一のSVGコンテナ内でグループ化されています。 SVGコンテナがOverlay Paneであなたのイメージオーバーレイ(PNG画像)の兄弟であることを

。あなたはレイヤーがあなたのイメージオーバーレイを表示するには、コントロールを使用するたびに、故に、それが故に、あなたにGeoJSONデータから、すべてのベクトルレイヤーの上、上記SVGコンテナを表示され、そのペインの末尾に追加されます。

はSVGコンテナの後ろにそれを強制するには、bringToBack()メソッドを使用することができます。レイヤコントロールを使用する場合、あなたはマップ"baselayerchange"イベントにリスナーを追加することができ、そのメソッドをトリガーする

リーフレット1.0を使用している場合は、イメージオーバーレイ(またはベクターレイヤー)用に独自のカスタムペインを指定し、それらのスタッキング順序をzIndexで指定できます。

関連する問題