Vue+OpenLayers 创建地图并显示鼠标所在经纬度(完整代码)
更新时间:2023年11月09日 09:27:25 作者:L221545
这篇文章主要介绍了Vue+OpenLayers 创建地图并显示鼠标所在经纬度,本文使用的是高德地图,结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
1、效果

2、创建地图
本文用的是高德地图
页面
<div class="map" id="map"></div>
<div id="mouse-position" class="position_coordinate"></div>初始化地图
var gaodeLayer = new TileLayer({
title: "高德地图",
source: new XYZ({
url: 'http://wprd0{1-4}.is.autonavi.com/appmaptile?lang=zh_cn&size=1&style=7&x={x}&y={y}&z={z}',
wrapX: false
})
});
this.map = new Map({
layers: [gaodeLayer],
target: 'map',
view: new View({
center: transform([123.23, 25.73], 'EPSG:4326', 'EPSG:3857'), //地图初始中心点
projection: 'EPSG:3857',
zoom: 4,
minZoom: 1
}),
});3、添加经纬度
var mousePositionControl = new MousePosition({
coordinateFormat: function (coordinate) {
return formatAxirs(coordinate, '经度:{x} 纬度:{y}', 2);
},
projection: 'EPSG:4326',
className: "custom-mouse-position",
target: document.getElementById("mouse-position"), //将位置数据放到那里
undefinedHTML: "",
});
this.map.addControl(mousePositionControl);4、完整代码
<script>
import { Map, View } from "ol";
import TileLayer from 'ol/layer/Tile.js';
import XYZ from 'ol/source/XYZ.js';
import { get as getProjection, transform } from 'ol/proj.js';
import MousePosition from "ol/control/MousePosition";
import { format as formatAxirs } from 'ol/coordinate';
export default {
data() {
return {
map: null,
draw: null,
};
},
mounted() {
this.initMap();
},
methods: {
//初始化地图
initMap() {
var gaodeMapLayer = new TileLayer({
title: "高德地图",
source: new XYZ({
url: 'http://wprd0{1-4}.is.autonavi.com/appmaptile?lang=zh_cn&size=1&style=7&x={x}&y={y}&z={z}',
wrapX: false
})
});
this.map = new Map({
layers: [gaodeMapLayer],
target: 'map',
view: new View({
center: transform([103.23, 35.33], 'EPSG:4326', 'EPSG:3857'), //地图初始中心点
projection: 'EPSG:3857',
zoom: 4,
minZoom: 1
}),
});
// 获取鼠标在地图的经纬度
var mousePositionControl = new MousePosition({
coordinateFormat: function (coordinate) {
return formatAxirs(coordinate, '经度:{x} 纬度:{y}', 2);
},
projection: 'EPSG:4326',
className: "custom-mouse-position",
target: document.getElementById("mouse-position"), //将位置数据放到那里
undefinedHTML: "",
});
this.map.addControl(mousePositionControl);
},
}
}附css代码
.position_coordinate {
color: #6a6a6a;
position: absolute;
font-size: 14px;
bottom: 20px;
right: 20px;
z-index: 999;
text-align: center;
line-height: 30px;
}到此这篇关于Vue+OpenLayers 创建地图并显示鼠标所在经纬度的文章就介绍到这了,更多相关Vue OpenLayers 鼠标经纬度内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
vue composition-api 封装组合式函数的操作方法
在 Vue 应用的概念中,“组合式函数”(Composables) 是一个利用 Vue 的组合式 API 来封装和复用有状态逻辑的函数,这篇文章主要介绍了vue composition-api 封装组合式函数的操作方法,需要的朋友可以参考下2022-10-10
在VUE中使用lodash的debounce和throttle操作
这篇文章主要介绍了在VUE中使用lodash的debounce和throttle操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2020-11-11


最新评论