乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      openlayers6地圖切換展示(附源碼下載)

       路人甲Java 2021-11-20

      前言

      之前寫過一篇openlayers4版本的地圖切換效果,但是由于是封裝一層 js代碼寫的,很多初學(xué)者看起來比較有點吃力,所以本篇文章重新寫一篇地圖切換效果,直接基于最新版本openlayers6寫的,純粹html + js + css形式,沒有任何封裝。

      內(nèi)容概覽

      1.基于openlayers6實現(xiàn)地圖切換展示效果
      2.源代碼demo下載

      效果圖如下:

      大概實現(xiàn)思路如下:地圖初始化配置加載各種在線地圖,比如天地圖,arcgis地圖,谷歌地圖,高德地圖,百度地圖,OSM地圖等等,默認(rèn)圖層只顯示一個地圖,其他在線地圖默認(rèn)隱藏不可見狀態(tài);js自定義一個底圖切換的控件,底圖切換時候,動態(tài)設(shè)置圖層的隱藏以及可見性,達到底圖切換目的。

      • 部分核心代碼,完整的見源碼demo下載

      var satelliteLayer = new ol.layer.Tile({ //天地圖衛(wèi)星圖visible: true,
      source: new ol.source.XYZ({
      url: 'http://t{0-7}.tianditu.com/DataServer?T=img_w&x={x}&y={y}&l={z}&tk=7786923a385369346d56b966bb6ad62f',
      crossOrigin:"anonymous"})
      }); 
      var satelliteLabelLayer = new ol.layer.Tile({
      visible: false,
      source: new ol.source.XYZ({ //天地圖衛(wèi)星圖注記url: 'http://t{0-7}.tianditu.com/DataServer?T=cia_w&x={x}&y={y}&l={z}&tk=7786923a385369346d56b966bb6ad62f',
      crossOrigin:"anonymous"})
      }); 
      var streetLayer = new ol.layer.Tile({ //天地圖街道圖visible: false,
      source: new ol.source.XYZ({
      url: 'http://t{0-7}.tianditu.com/DataServer?T=vec_w&x={x}&y={y}&l={z}&tk=7786923a385369346d56b966bb6ad62f',
      crossOrigin:"anonymous"})
      }); 
      var streetLabelLayer = new ol.layer.Tile({
      visible: false,
      source: new ol.source.XYZ({ //天地圖街道圖注記url: 'http://t{0-7}.tianditu.com/DataServer?T=cva_w&x={x}&y={y}&l={z}&tk=7786923a385369346d56b966bb6ad62f',
      crossOrigin:"anonymous"})
      }); 
      var terLayer = new ol.layer.Tile({
      visible: false,
      source: new ol.source.XYZ({ //天地圖地形圖url: 'http://t{0-7}.tianditu.com/DataServer?T=ter_w&x={x}&y={y}&l={z}&tk=7786923a385369346d56b966bb6ad62f',
      crossOrigin:"anonymous"})
      }); 
      var osmLayer = new ol.layer.Tile({//OSM地圖visible: false,
      source: new ol.source.OSM()
      }); 
      var arcgisImgLayer = new ol.layer.Tile({//arcgis影像visible: false,
      source: new ol.source.XYZ({
      url: 'https://server./arcgis/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}',
      crossOrigin:"anonymous"})
      }); 
      var arcgisVecLayer = new ol.layer.Tile({//arcgis街道visible: false,
      source: new ol.source.XYZ({
      url: 'http://cache1./arcgis/rest/services/ChinaOnlineCommunity/MapServer/tile/{z}/{y}/{x}',
      crossOrigin:"anonymous"})
      }); 
      var googleImgLayer = new ol.layer.Tile({//谷歌影像visible: false,
      source: new ol.source.XYZ({
      url: 'http://www.google.cn/maps/vt?lyrs=s@189&gl=cn&x={x}&y={y}&z={z}',
      crossOrigin:"anonymous"})
      }); 
      var googleVecLayer = new ol.layer.Tile({//谷歌街道visible: false,
      source: new ol.source.XYZ({
      url: 'http://www.google.cn/maps/vt?lyrs=m@189&gl=cn&x={x}&y={y}&z={z}',
      crossOrigin:"anonymous"})
      }); 
      var gaodeImgLayer = new ol.layer.Tile({//高德影像visible: false,
      source: new ol.source.XYZ({
      url: 'http://webst0{1-4}.is.autonavi.com/appmaptile?style=6&x={x}&y={y}&z={z}',
      crossOrigin:"anonymous"})
      }); 
      var gaodeVecLayer = new ol.layer.Tile({//高德街道visible: false,
      source: new ol.source.XYZ({
      url: 'http://webrd0{1-4}.is.autonavi.com/appmaptile?lang=zh_cn&size=1&scale=1&style=7&x={x}&y={y}&z={z}',
      crossOrigin:"anonymous"})
      }); 
      var layers = [
      satelliteLayer,
      streetLayer,
      terLayer,
      satelliteLabelLayer,
      streetLabelLayer,
      osmLayer,
      arcgisImgLayer,
      arcgisVecLayer,
      googleImgLayer,
      googleVecLayer,
      gaodeImgLayer,
      gaodeVecLayer,
      ];//地圖創(chuàng)建var map = new ol.Map({
      layers: layers,
      target: 'map',
      view: new ol.View({
      projection: 'EPSG:4326',
      center: [103.49033880652411, 34.034467489614684],
      zoom: 7})
      }); 
      var mapconfig = [
      {"layer_id":"tmap_img_w","label":"天地衛(wèi)星","className":"imgType"},//天地圖衛(wèi)星圖{"layer_id":"tmap_vec_w","label":"天地街道","className":"vecType"},//天地圖街道圖{"layer_id":"tmap_img_w_h","label":"衛(wèi)星混合","className":"imgType"},//天地圖衛(wèi)星混合圖{"layer_id":"tmap_ter_w","label":"天地地形","className":"terType"},//天地圖地形圖{"layer_id":"tmap_ter_w_h","label":"地形混合","className":"terType"},//天地圖地形混合圖{"layer_id":"osm","label":"OSM","className":"vecType"},//OSM地圖{"layer_id":"arcgis_img","label":"esri影像","className":"imgType"},//arcgis影像{"layer_id":"arcgis_vec","label":"esri街道","className":"vecType"},//arcgis街道{"layer_id":"google_img","label":"谷歌影像","className":"imgType"},//谷歌影像{"layer_id":"google_vec","label":"谷歌街道","className":"vecType"},//谷歌街道{"layer_id":"gaode_img","label":"高德影像","className":"imgType"},//高德影像{"layer_id":"gaode_vec","label":"高德街道","className":"vecType"},//高德街道];
      loadSwitcherMap(mapconfig);//底圖切換控件加載/**
      * 地圖切換控件*/function loadSwitcherMap(data){//設(shè)置底圖不同類型var baseLayerSwitcherToolbar = new BaseLayerSwitcherToolBar({
      data: data
      });
      document.getElementById("map").appendChild(baseLayerSwitcherToolbar.target);
      baseLayerSwitcherToolbar.onItemClick = function(itemData,index,element){var data = itemData;
      console.log(data);switch (data.layer_id) {case "tmap_img_w"://衛(wèi)星satelliteLayer.setVisible(true);
      satelliteLabelLayer.setVisible(false);
      streetLayer.setVisible(false);
      streetLabelLayer.setVisible(false);
      terLayer.setVisible(false);
      osmLayer.setVisible(false);
      arcgisImgLayer.setVisible(false);
      arcgisVecLayer.setVisible(false);
      googleImgLayer.setVisible(false);
      googleVecLayer.setVisible(false);
      gaodeImgLayer.setVisible(false);
      gaodeVecLayer.setVisible(false);break;case "tmap_vec_w"://地圖satelliteLayer.setVisible(false);
      satelliteLabelLayer.setVisible(false);
      streetLayer.setVisible(true);
      streetLabelLayer.setVisible(true);
      terLayer.setVisible(false);
      osmLayer.setVisible(false);
      arcgisImgLayer.setVisible(false);
      arcgisVecLayer.setVisible(false);
      googleImgLayer.setVisible(false);
      googleVecLayer.setVisible(false);
      gaodeImgLayer.setVisible(false);
      gaodeVecLayer.setVisible(false);break;case "tmap_img_w_h"://衛(wèi)星混合satelliteLayer.setVisible(true);
      satelliteLabelLayer.setVisible(true);
      streetLayer.setVisible(false);
      streetLabelLayer.setVisible(false);
      terLayer.setVisible(false);
      osmLayer.setVisible(false);
      arcgisImgLayer.setVisible(false);
      arcgisVecLayer.setVisible(false);
      googleImgLayer.setVisible(false);
      googleVecLayer.setVisible(false);
      gaodeImgLayer.setVisible(false);
      gaodeVecLayer.setVisible(false);break;case "tmap_ter_w"://地形satelliteLayer.setVisible(false);
      satelliteLabelLayer.setVisible(false);
      streetLayer.setVisible(false);
      streetLabelLayer.setVisible(false);
      terLayer.setVisible(true);
      osmLayer.setVisible(false);
      arcgisImgLayer.setVisible(false);
      arcgisVecLayer.setVisible(false);
      googleImgLayer.setVisible(false);
      googleVecLayer.setVisible(false);
      gaodeImgLayer.setVisible(false);
      gaodeVecLayer.setVisible(false);break;case "tmap_ter_w_h"://地形混合satelliteLayer.setVisible(false);
      satelliteLabelLayer.setVisible(false);
      streetLayer.setVisible(false);
      streetLabelLayer.setVisible(true);
      terLayer.setVisible(true);
      osmLayer.setVisible(false);
      arcgisImgLayer.setVisible(false);
      arcgisVecLayer.setVisible(false);
      googleImgLayer.setVisible(false);
      googleVecLayer.setVisible(false);
      gaodeImgLayer.setVisible(false);
      gaodeVecLayer.setVisible(false);break;case "osm"://OSMosmLayer.setVisible(true);
      satelliteLayer.setVisible(false);
      satelliteLabelLayer.setVisible(false);
      streetLayer.setVisible(false);
      streetLabelLayer.setVisible(false);
      terLayer.setVisible(false);
      arcgisImgLayer.setVisible(false);
      arcgisVecLayer.setVisible(false);
      googleImgLayer.setVisible(false);
      googleVecLayer.setVisible(false);
      gaodeImgLayer.setVisible(false);
      gaodeVecLayer.setVisible(false);break;case "arcgis_img"://arcgis影像arcgisImgLayer.setVisible(true);
      osmLayer.setVisible(false);
      satelliteLayer.setVisible(false);
      satelliteLabelLayer.setVisible(false);
      streetLayer.setVisible(false);
      streetLabelLayer.setVisible(false);
      terLayer.setVisible(false);
      arcgisVecLayer.setVisible(false);
      googleImgLayer.setVisible(false);
      googleVecLayer.setVisible(false);
      gaodeImgLayer.setVisible(false);
      gaodeVecLayer.setVisible(false);break;case "arcgis_vec"://arcgis街道arcgisVecLayer.setVisible(true);
      arcgisImgLayer.setVisible(false);
      osmLayer.setVisible(false);
      satelliteLayer.setVisible(false);
      satelliteLabelLayer.setVisible(false);
      streetLayer.setVisible(false);
      streetLabelLayer.setVisible(false);
      terLayer.setVisible(false);
      googleImgLayer.setVisible(false);
      googleVecLayer.setVisible(false);
      gaodeImgLayer.setVisible(false);
      gaodeVecLayer.setVisible(false);break;case "google_img"://谷歌影像googleImgLayer.setVisible(true);
      arcgisVecLayer.setVisible(false);
      arcgisImgLayer.setVisible(false);
      osmLayer.setVisible(false);
      satelliteLayer.setVisible(false);
      satelliteLabelLayer.setVisible(false);
      streetLayer.setVisible(false);
      streetLabelLayer.setVisible(false);
      terLayer.setVisible(false);
      googleVecLayer.setVisible(false);
      gaodeImgLayer.setVisible(false);
      gaodeVecLayer.setVisible(false);break;case "google_vec"://谷歌影像googleVecLayer.setVisible(true);
      googleImgLayer.setVisible(false);
      arcgisVecLayer.setVisible(false);
      arcgisImgLayer.setVisible(false);
      osmLayer.setVisible(false);
      satelliteLayer.setVisible(false);
      satelliteLabelLayer.setVisible(false);
      streetLayer.setVisible(false);
      streetLabelLayer.setVisible(false);
      terLayer.setVisible(false);
      gaodeImgLayer.setVisible(false);
      gaodeVecLayer.setVisible(false);break;case "gaode_img"://高德影像gaodeImgLayer.setVisible(true);
      googleVecLayer.setVisible(false);
      googleImgLayer.setVisible(false);
      arcgisVecLayer.setVisible(false);
      arcgisImgLayer.setVisible(false);
      osmLayer.setVisible(false);
      satelliteLayer.setVisible(false);
      satelliteLabelLayer.setVisible(false);
      streetLayer.setVisible(false);
      streetLabelLayer.setVisible(false);
      terLayer.setVisible(false);
      gaodeVecLayer.setVisible(false);break;case "gaode_vec"://高德街道gaodeVecLayer.setVisible(true);
      gaodeImgLayer.setVisible(false);
      googleVecLayer.setVisible(false);
      googleImgLayer.setVisible(false);
      arcgisVecLayer.setVisible(false);
      arcgisImgLayer.setVisible(false);
      osmLayer.setVisible(false);
      satelliteLayer.setVisible(false);
      satelliteLabelLayer.setVisible(false);
      streetLayer.setVisible(false);
      streetLabelLayer.setVisible(false);
      terLayer.setVisible(false);break;default:
      satelliteLayer.setVisible(true);
      satelliteLabelLayer.setVisible(false);
      streetLayer.setVisible(false);
      streetLabelLayer.setVisible(false);
      terLayer.setVisible(false);
      osmLayer.setVisible(false);
      arcgisImgLayer.setVisible(false);
      arcgisVecLayer.setVisible(false);
      googleImgLayer.setVisible(false);
      googleVecLayer.setVisible(false);
      gaodeImgLayer.setVisible(false);
      gaodeVecLayer.setVisible(false);break;
      }

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多