openlayers

简介: openlayers
 // 天地图是将路网图层和注记图层分开发布的,我们还要单独请求注记图层,然后叠加在路网上面
        // 使用 ol.source.XYZ 加载切片,并将获取的数据初始化一个切片图层 ol.layer.Tile
        var TiandiMap_vec = new ol.layer.Tile({
   
   
            title: "天地图矢量图层",
            // 用 ol.source.XYZ 加载切片,并将获取的数据初始化一个切片图层 ol.layer.Tile。T=vec_c表示请求的是路网数据,x 表示切片的 x 轴坐标,y 表示切片的y轴坐标,z表示切片所在的缩放级别
            source: new ol.source.XYZ({
   
   
                url: "http://t0.tianditu.com/DataServer?T=vec_w&x={x}&y={y}&l={z}&tk=" + "261dae6ae5ff631786cb4ad53d0a9b8a",//261dae6ae5ff631786cb4ad53d0a9b8a为天地图密钥
                wrapX: false
            })
        });
        var Tianditu_cva = new ol.layer.Tile({
   
   
            title: "天地图矢量注记图层",
            source: new ol.source.XYZ({
   
   
                // cva_w 表示请求的切片类型是注记图层切片
                url: "http://t0.tianditu.com/DataServer?T=cva_w&x={x}&y={y}&l={z}&tk=" + "261dae6ae5ff631786cb4ad53d0a9b8a",//261dae6ae5ff631786cb4ad53d0a9b8a为天地图密钥
                wrapX: false
            })
        });
        //实例化Map对象加载地图
        var map = new ol.Map({
   
   
            //地图容器div的ID
            target: 'mapCon',
            controls: ol.control.defaults({
   
   
                /** @type {olx.control.AttributionOptions} */
                attributionOptions: ({
   
   
                    collapsible: true
                })
            }).extend([
          new ol.control.ZoomToExtent({
   
   
              extent: [
                813079.7791264898, 5929220.284081122,
                848966.9639063801, 5936863.986909639
              ]
          })
            ]),
            //地图容器中加载的图层
            layers: [TiandiMap_vec, Tianditu_cva],
            //地图视图设置
            view: new ol.View({
   
   
                //地图初始中心点
                center: [0, 0],
                //地图初始显示级别
                zoom: 2,
                projection: "EPSG:3857"
            })
        });

新版地址:https://map.tianditu.gov.cn/,老版:https://t0.tianditu.com

 url: "https://t0.tianditu.gov.cn/DataServer?T=vec_c&x=3233&y=673&l=12&tk=你的密钥"

天地图

天地图共有 8 个服务地址,子域名分别从 t0 到 t7,如下列表所示。使用时自己选择。

加载常见控件

openlayer 5 的地图容器默认(ol.control.defaults)加载了3个常用控件:缩放控件(ol.control.Zoom)、旋转控件(ol.control.Rotate)、图层数据源属性控件(ol.control.Attribution)

修改地图导航条关联控件的样式

缩放控件(ol.control.Zoom)的默认样式类为.ol-zoom,ol-zoom-out与ol-zoom-in分别为两个按钮的样式类名;缩放滑块控件(ol.control.ZoomSlider)的默认样式class为ol-zoomslider;ol.control.ZoomToExtent控件的默认样式class则为ol-zoom-extent

 /* 修改地图导航条关联样式 */
         /* 缩放滑块控件ZoomSlider的样式,放置到缩放按钮之间实现导航条功能*/
         #mapCon .ol-zoom .ol-zoom-out {
   
   
                margin-top: 204px;
            }   /*选择id为mapCon元素下class为ol-zoom的元素下的ol-zoom-out样式*/

            #mapCon .ol-zoomslider {
   
   
                background-color: transparent;
                top: 2.3em;
            }

            #mapCon .ol-touch .ol-zoom .ol-zoom-out {
   
   
                margin-top: 212px;
            }

            #mapCon .ol-touch .ol-zoomslider {
   
   
                top: 2.75em;
            }

            #mapCon .ol-zoom-in .ol.has-tooltip:hover[role=tooltip],
            #mapCon .ol-zoom-in .ol-has-tooltip:focus[role=tooltip] {
   
   
                top: 3px;
            }

            #mapCon .ol-zoom-out .ol-has-tooltip:hover[role=tooltip],
            #mapCon .ol-zoon-out .ol-has-out-tooltip:focus[role=tooltip] {
   
   
                top: 232px;
            }

            #mapCon .ol-zoom-extent {
   
   
                top: 280px;
            }

参数意义

参数 含义
wrapX: false 对于-180°和180°子午线上的矢量编辑图形时,false不会重复平铺,true会重复
crossOrigin: "anonymous" 不允许跨域显示
目录
相关文章
|
1月前
|
数据可视化 JavaScript 定位技术
Cesium第1篇,CesiumJS第1篇,CesiumJS使用详细,在vue中使用Cesium.js(WebGIS中的Cesium地图可视化应用)
Cesium是一种基于WebGL开源的虚拟地球技术,可以用于构建高性能、跨平台的三维地球应用程序,它支持多种数据格式和地图服务,可以实现地球表面的高精度渲染、地形分析、数据可视化等功能。Cesium还提供了丰富的API和插件,方便开发者进行二次开发和定制化,且可免费商用,在航空航天、国防、城市规划、教育等领域得到了广泛应用。
97 0
Cesium第1篇,CesiumJS第1篇,CesiumJS使用详细,在vue中使用Cesium.js(WebGIS中的Cesium地图可视化应用)
|
JavaScript 前端开发 定位技术
OpenLayers入门(一)
OpenLayers入门(一)
626 0
OpenLayers入门(一)
|
前端开发 定位技术 API
OpenLayers入门(二)
OpenLayers入门(二)
413 0
OpenLayers入门(二)
|
Web App开发 应用服务中间件 定位技术
用OpenLayers开发地图应用
项目背景 最近有一个使用全球地图展示数据的项目,用地图展示数据本身没什么难度,但出于安全和保密的考虑,甲方单位要求项目不能连接外网,只能在内网使用,也就是说,我们不得不在内网中部署一个地图服务器,在这个地图服务器的基础上进行开发。
2370 0
|
API 定位技术 网络架构
leaflet地图介绍
本文将介绍有关于leaflet地图组件在web中的应用 什么是leaflet? leaflet是一个轻量级的开源js地图组件,适用于移动设备,用法简单性能优越,如果你曾经使用过高德或者百度的地图api的话,相信你可以很轻易的上手更加简单的leaflet leaflet是怎么运作的? leaflet的工作方法和高德百度之类的并不一样,由于leaflet是个开源项目,所以它本身只有地图组件并不提供地图内容,也就是说,我们不需要为了使用leaflet而去注册key。
2265 0
|
定位技术
openlayers拖拽feature
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/gisdoer/article/details/82993683 openlaye...
1739 0
|
定位技术
openlayers加载bing地图
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/gisdoer/article/details/82961448 openlaye...
1460 0
openlayers加载动态ArcGIS服务
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/gisdoer/article/details/82853801 openlaye...
1940 0
|
定位技术 前端开发
openlayers4、5之卷帘地图SWIPE MAP
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/gisdoer/article/details/82753937 openlayers之卷帘地图SWIPE MAP 功能说明 **卷帘指,同一屏幕,左右或者上下同时看到两个图层,可以直观的进行对比。
1878 0
openlayers5之加载KML数据
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/gisdoer/article/details/81989496 openlayer...
1409 0