Openlayers中加载Geoserver切割的EPSG:900913离线瓦片地图并显示:
https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/118492511
在上面加载离线瓦片地图显示的基础上怎样在地图上点击并能获取到坐标。
实现效果如下:
博客:
https://blog.csdn.net/badao_liumang_qizhi
关注公众号
霸道的程序猿
获取编程相关电子书、教程推送与免费下载。
通过ol.Map新建Openlayers的核心组件。
//Map Openlayers的核心组件,包含图层、交互事件、UI控制元素等。
var map = new ol.Map({
layers: [layer,lineVector],
target: 'map',
view: view
然后设置其单击事件,在控制台输出坐标。
//单击获取地图坐标
map.on('singleclick',(evt)=>{
console.log(evt.coordinate);
场景Openlayers中加载Geoserver切割的EPSG:900913离线瓦片地图并显示:https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/118492511在上面加载离线瓦片地图显示的基础上怎样在地图上点击并能获取到坐标。实现效果如下:注:博客:https://blog.csdn.net/badao_liumang_qizhi 关注公众号霸道的程序猿获取编程相关电子书、教程推送与免费下载。实现
this.map.on('singleclick', function(e){
console.log(e.coordinate)
console.log(transform(e.coordinate, 'EPSG:3857', 'EPSG:4326'));
// // 通过getEventCoordinate方法获取地理位置,再转换为wgs84坐标,并弹出对话框显示
// con
说明:OpenLayers 3详细官方API文档:http://develop.smaryun.com:81/API/JS/OL3InterfaceDemo/index.htm
1.该例子为页面在固定经纬度的情况下对地图进行单个或者多个标点,并没有从后台数据库获取经纬度数据,之后会再更新通过json来实现与与数据库实时进行标点。
2.首先我们还是先做好离线地图,具体操作参照我的另外一篇博文:使用O...
//获取图像
var view = map.getView();
//获取一个经纬度的数组(两组数据)->[13417639.537659956, 3657508.94839583, 13434990.743080692, 3682503.8566450826]
var arr = view.calculateExtent...
/*params: map(创建的map对象)*/
contextmenu(map) {
map.getViewport().oncontextmenu = function(event) {
event.preventDefault();
let pixel = map.getEventPixel(event).
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://ww...
添加右键菜单,首先我们要监听鼠标右键点击的操作,我们知道鼠标右键事件名是 contextmenu,当鼠标在 html 元素之上,点击鼠标右键,便会触发 contextmenu 事件,在 contextmenu 事件的回调函数中实现相应的显示菜单功能即可。
那么在 openlayers 中,在地图中添加这个事件,我们从哪里下手呢?首先我们得了解 openlayers 的初始化页面的过程。
openlayers 初始化页面过程
openlayers 也是一个前端库,那么它肯定离不开 html 的运用,比如,我们首先需要在页面放置一个显示地图的 html 元素,一个 div
最近遇到的需求中需要对openlayer地图的一些事件进行监听,然后传递到高德、百度等原生地图中。
这个需求是因为openlayer的访问的xyz方式地图比较陈旧,一些地铁、小区的线路不一致,还是旧版本。
这里给大家分享一个解决方案:
把原生地图与openlayer地图进行重叠,并透明化openlayer地图,再传递openlayer的事件到原生地图。
var _mapEvent = function(event) {
mapEvent(event);
var openlayerMap = .
您可以通过以下步骤将OpenLayers中的OSM地图发布到GeoServer:
1. 在GeoServer中创建一个新的数据存储,选择“OpenLayers”作为数据类型。
2. 在数据存储中输入OSM地图的URL,例如:http://tile.openstreetmap.org/{z}/{x}/{y}.png。
3. 在GeoServer中创建一个新的工作区,并将数据存储添加到该工作区中。
4. 在GeoServer中创建一个新的图层,选择刚刚创建的工作区和数据存储。
5. 在OpenLayers中使用WMS协议加载GeoServer中的图层。
希望这可以帮助您发布OpenLayers中的OSM地图到GeoServer。