OpenLayers加载鹰眼、比例尺、坐标显示
2020-08-28 16:27
906 查看
OpenLayers加载鹰眼、比例尺、坐标
主要内容
上一期说的如何基于Vue创建OpenLayers应用,这次说说如何加载常用的OpenLayers控件,主要有鹰眼、比例尺、坐标显示。
加载鹰眼控件
1.根据官方文档,首先引入依赖
我们可以这样引入
import { OverviewMap, defaults } from "ol/control";
2.添加鹰眼控件代码
定义map的
control属性,实例化一个鹰眼地图,这里注意鹰眼图不显示或偏差问题:可能是因为你主地图和鹰眼图的坐标系不同导致的,我们可以为二者定义相同的view及空间参考(OpenLayers默认墨卡托)。
import "ol/ol.css"; import { Map, View } from "ol"; import TileLayer from "ol/layer/Tile"; import OSM from "ol/source/OSM"; import { OverviewMap, defaults } from "ol/control";export default { mounted() { const map = new Map({ target: "mapDiv", layers: [ new TileLayer({ source: new OSM() }) ], view: new View({ center: [0, 0], zoom: 0 }), controls: defaults().extend([ // 添加一个鹰眼控件 new OverviewMap({ // 实例化一个OverviewMap类的对象,并加入到地图中 collapsed: false, view: new View({ center: [0, 0] }), layers: [ new TileLayer({ source: new OSM() }) ] }) ]) }); } };
3.鹰眼控件加载效果图(地图加载较慢)
加载比例尺控件
1.查看官方文档,引入依赖
2.可以在鹰眼的基础上添加
import { OverviewMap, ScaleLine, defaults } from "ol/control";
3.在map的control属性中实例化添加一个比例尺控件,根据官方文档,可以用
.ol-scale-line调整样式
// 添加比例尺 new ScaleLine({ units: "metric" })
.ol-scale-line { left: 200px; }
4.查看比例尺控件添加效果
加载坐标显示
1.引入依赖
import { OverviewMap, ScaleLine, MousePosition, defaults } from "ol/control"; import {createStringXY} from 'ol/coordinate';
2.实例化一个坐标显示控件,并设置坐标显示格式
new MousePosition({ coordinateFormat: createStringXY(6), // 保留6位小数位 })
3.查看坐标控件加载效果
关键代码
<template> <div id="mapDiv"></div> </template> <script> import "ol/ol.css"; import { Map, View } from "ol"; import TileLayer from "ol/layer/Tile"; import OSM from "ol/source/OSM"; import { OverviewMap, ScaleLine, MousePosition, defaults } from "ol/control"; import {createStringXY} from 'ol/coordinate';export default { mounted() { const map = new Map({ target: "mapDiv", layers: [ new TileLayer({ source: new OSM() }) ], view: new View({ center: [0, 0], zoom: 0 }), controls: defaults().extend([ // 添加一个鹰眼控件 new OverviewMap({ // 实例化一个OverviewMap类的对象,并加入到地图中 collapsed: false, view: new View({ center: [0, 0] }), layers: [ new TileLayer({ source: new OSM() }) ] }), // 添加比例尺 new ScaleLine({ units: "metric" }), new MousePosition({ coordinateFormat: createStringXY(6), // 保留6位小数位 })]) }); } }; </script> <style scoped> #mapDiv { width: 100%; height: 100%; } .ol-scale-line { left: 200px; }</style>
相关文章推荐
- ArcGIS API For Javascript之地图基本加载与显示,地图切换、缩放、定位、比例尺、鹰眼图、坐标显示、查询搜索功能实现
- Openlayers3 轨迹回放,点在线上运动, 解决linestring坐标显示不全
- flex+gis显示地图的比例尺,坐标,地图显示范围
- Openlayers 显示坐标点
- Openlayers之加载鹰眼控件
- flex4.6 + openscales2.2 + geoserver2.02基本地图显示(坐标定位、初始比例、空间数据库配置及加载)
- openlayers 显示标记好的坐标点
- 百度地图 多坐标加载画出驾驶路线显示
- OpenLayers笔记--加载百度地图和添加比例尺
- Openlayers之显示地理位置坐标
- openlayers加载百度地图作为底图坐标偏移的解决办法
- 解决: Firefox一些页面绝大部门显示正常,但却永远加载不完的问题,页面一直在加载中
- JSON数据解析后显示在listview上并且可上滑加载更多
- could not initialize proxy - no Session:解决懒加载(排除不需要查询显示的属性)
- 加载进度条显示 NJKWebViewProgress
- 百度地图加载显示
- 解决SwipeRefreshLayout多次下拉 加载图标显示异常
- 一个页面从输入 URL 到页面加载显示完成,这个过程中都发生了什么?
- easy-ui 小白进阶史(一):加载数据,easy-ui显示
- 经纬度定义、经纬度格式、GDAL中地理坐标转换及地理坐标屏幕显示