1. 代码块
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>加载鼠标位置控件</title>
<link rel="stylesheet" href="openlayers/css/ol.css">
<script src="openlayers/build/ol.js"></script>
<style>
#map {
width: 100%;
height: 100%;
position: absolute;
}
</style>
</head>
<body>
<div id="map">
<div id="mouse-position"></div>
</div>
<script>
// 1.创建鼠标控件
var mouse = new ol.control.MousePosition({
coordinateFormat: ol.coordinate.createStringXY(4),
// 坐标格式,保留4位小数,不写则默认保留到整数
projection: 'EPSG: 4326', // 地图投影坐标系
className: 'custom-mouse-position', // 自定义显示样式
// 1.1显示鼠标位置信息的目标容器,写元素名
target: document.getElementById('mouse-position'),
});
// 2.创建地图
var map = new ol.Map({
target: 'map',
layers: [
new ol.layer.Tile({
source: new ol.source.OSM({
wrapX: false,
}),
})
],
view: new ol.View({
center: [0, 0],
zoom: 2
}),
// 2.1 加载鼠标位置控件
controls: ol.control.defaults().extend([mouse]),
// 为默认control添加扩展模块mouse
});
</script>
</body>
</html>
2. 效果图
参考:郭明强, 黄颖. WebGIS之OpenLayers全面解析第2版, 电子工业出版社.