OpenLayers系列(2)多个图层
工具的使用步骤请参考 OpenLayers系列(1)——入门示例 一节。 多图层地图的构成 多图层的地图由两种图层构成: base layer 和 overlay layer 。 Base layer: 任何一个地图中都存在至少一个图层,否则你的应用将呈现空白,我们把最基本的一个图层称为base lay
工具的使用步骤请参考 OpenLayers系列(1)——入门示例 一节。
多图层地图的构成
多图层的地图由两种图层构成:base layer 和overlay layer 。
Base layer: 任何一个地图中都存在至少一个图层,否则你的应用将呈现空白,我们把最基本的一个图层称为base layer。Base layer不止一种或一个,你可以选择任意一个图层作为应用的base layer,但是任何时候base layer都只能有一个是turn on的,如果程序在打开一个base layer时发现已经存在另一个打开着的base layer,则应用会关掉之前的base layer而使用最近打开的一个。所以base layer在地图中的概念就像是(radio button)一个单选按钮。
Overlay layer: 非base layer的图层统称为overlay layer。应用中可使用并同时打开任何多的overlay layer,你可以使用参数设置该层是否显示。Overlay layer在地图中的概念就像是(checkbox)多选框。
以上概念你可以在OpenLayers提供的一个图层切换器上形象地看到。
示例1
以下是一个包含两个图层和图层切换器的示例,该示例在base layer上加上了国家,城市,洲名层:
打开图层切换器:
示例1代码:
<meta charset="utf-8"> <title>My OpenLayers Map</title> <script type="text/javascript" src="OpenLayers.js"></script> <script type="text/javascript"> var map; function init() { map = new OpenLayers.Map('map_element', {});//初始化map对象 var wms_layer_map = new OpenLayers.Layer.WMS( //定义第一个层 'Base layer', 'http://vmap0.tiles.osgeo.org/wms/vmap0', {layers: 'basic'},//向map server请求basic层 {isBaseLayer: true}//设置该层为basic层 ); var wms_layer_labels = new OpenLayers.Layer.WMS(//定义第二个层 'Location Labels', 'http://vmap0.tiles.osgeo.org/wms/vmap0', {layers: 'clabel,ctylabel,statelabel', transparent: true}, {opacity: .5}//设置透明度为50% ); map.addLayers([wms_layer_map, wms_layer_labels]);//以数组形式将多个层加入map对象 map.addControl(new OpenLayers.Control.LayerSwitcher({}));//添加一个层切换器 if(!map.getCenter()){ map.zoomToMaxExtent(); } } </script> <div id="map_element" style="width: 500px; height: 500px;"> </div>
示例2
示例2主要展示部分图层参数的效果,该示例一共有5个图层,第个图层有不同效果,可以不断放大查看。
代码如下:
<meta charset="utf-8"> <title>My OpenLayers Map</title> <script type="text/javascript" src="OpenLayers.js"></script> <script type="text/javascript"> var map; function init() { map = new OpenLayers.Map('map_element', {}); var wms_layer_map = new OpenLayers.Layer.WMS(//base layer 'Base layer', 'http://vmap0.tiles.osgeo.org/wms/vmap0', {layers: 'basic'}, {isBaseLayer: true} ); var wms_layer_labels = new OpenLayers.Layer.WMS(//国家,洲,城市名层 'Location Labels', 'http://vmap0.tiles.osgeo.org/wms/vmap0', {layers: 'clabel,ctylabel,statelabel', transparent: true}, {visibility: false, opacity:0.5}//默认不显示该层(但可以图层切换器中打开) ); var wms_state_lines = new OpenLayers.Layer.WMS(//洲界层 'State Line Layer', 'http://labs.metacarta.com/wms/vmap0', {layers: 'stateboundary', transparent: true}, {displayInLayerSwitcher: false, //设置该层不显示在图层切换器中 minScale: 13841995.078125}//设置一个最小尺度,只有当地图在缩放时达到这个最小尺度时才显示该图层信息 ); var wms_water_depth = new OpenLayers.Layer.WMS( 'Water Depth', 'http://labs.metacarta.com/wms/vmap0', {layers: 'depthcontour', transparent: true}, {opacity:0.8} ); var wms_roads = new OpenLayers.Layer.WMS( 'Roads', 'http://labs.metacarta.com/wms/vmap0', {layers: 'priroad,secroad,rail', transparent: true}, {transistionEffect:'resize'}//让该图层在缩放时呈现重新计算的效果 ); map.addLayers([ wms_layer_map, wms_layer_labels, wms_state_lines, wms_water_depth, wms_roads]); map.addControl(new OpenLayers.Control.LayerSwitcher({})); if(!map.getCenter()){ map.zoomToMaxExtent(); } } </script> <div id="map_element" style="width: 500px; height: 500px;"> </div>

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Giteepages Statik Laman Web Penggunaan Gagal: 404 Penyelesaian Masalah dan Resolusi Ralat Semasa Menggunakan Gitee ...

Halaman H5 perlu dikekalkan secara berterusan, kerana faktor -faktor seperti kelemahan kod, keserasian pelayar, pengoptimuman prestasi, kemas kini keselamatan dan peningkatan pengalaman pengguna. Kaedah penyelenggaraan yang berkesan termasuk mewujudkan sistem ujian lengkap, menggunakan alat kawalan versi, kerap memantau prestasi halaman, mengumpul maklum balas pengguna dan merumuskan pelan penyelenggaraan.

Menyedari kesan jurang susun atur kupon kad. Semasa merancang susun atur kupon kad, anda sering menemui keperluan untuk menambah jurang pada kupon kad, terutamanya apabila latar belakang adalah gradien ...

Mengapa margin negatif tidak berkuatkuasa dalam beberapa kes? Semasa pengaturcaraan, margin negatif dalam CSS (negatif ...

Soalan mengenai kawasan slash ungu dalam susun atur flex Apabila menggunakan susun atur flex, anda mungkin menghadapi beberapa fenomena yang mengelirukan, seperti dalam alat pemaju (D ...

Bagaimana untuk mendapatkan data dinamik 58.com halaman kerja semasa merangkak? Semasa merangkak halaman kerja 58.com menggunakan alat crawler, anda mungkin menghadapi ...

Penjelasan terperinci mengenai kemahiran kod JavaScript semasa menulis kod JavaScript, kita sering menemui garis kod yang terlalu panjang, yang bukan sahaja mempengaruhi kebolehbacaan kod ...

Mengapa enjin carian tidak dipaparkan selepas kata kunci tajuk laman web dikemas kini? Semasa mengoptimumkan laman web, banyak webmaster akan mengubah suai tetapan SEO laman web dan data berstruktur, dengan harapan ...
