openlayers实现地图弹窗


Posted in Javascript onSeptember 25, 2020

本文实例为大家分享了openlayers实现地图弹窗的具体代码,供大家参考,具体内容如下

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 <link rel="stylesheet" href="https://openlayers.org/en/v5.3.0/css/ol.css" />
 <script type="text/javascript" src="https://openlayers.org/en/v5.3.0/build/ol.js"></script>
 <script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
 <title>Ol3 popup</title>
 <style type="text/css">
 body, #map {
 border: 0px;
 margin: 0px;
 padding: 0px;
 padding: 0px;
 padding: 0px;
 width: 100%;
 height: 100%;
 font-size: 13px;
 }
 
 .ol-popup {
 display: none;
 position: absolute;
 background-color: white;
 -moz-box-shadow: 0 1px 4px rgba(0,0,0,0.2);
 -webkit-filter: drop-shadow(0 1px 4px rgba(0,0,0,0.2));
 filter: drop-shadow(0 1px 4px rgba(0,0,0,0.2));
 border: 1px solid #cccccc;
 bottom: 12px;
 left: -50px;
 width: 200px;
 }
 .ol-popup:after, .ol-popup:before {
 top: 100%;
 border: solid transparent;
 content: " ";
 height: 0;
 width: 0;
 position: absolute;
 pointer-events: none;
 }
 .ol-popup:after {
 border-top-color: white;
 border-width: 10px;
 left: 48px;
 margin-left: -10px;
 }
 .ol-popup:before {
 border-top-color: #cccccc;
 border-width: 11px;
 left: 48px;
 margin-left: -11px;
 }
 .popup-title{
 font-weight: bold;
 border-bottom:1px solid #cccccc;
 padding: 5px 8px;
 }
 .popup-content{
 padding: 5px 8px;
 }
 .ol-popup-closer {
 text-decoration: none;
 position: absolute;
 top: 6px;
 right: 6px;
 }
 .ol-popup-closer:after {
 content: "✖";
 }
 </style>

 <script type="text/javascript">
 function init(){
 var format = 'image/png';
 var bounds = [73.4510046356223, 18.1632471876417,
 134.976797646506, 53.5319431522236];
 var vectorSource = new ol.source.TileWMS({
 url: 'http://localhost:8080/geoserver/map/wms?service=WMS&version=1.1.0&request=GetMap&layers=map:capital&styles=&bbox=87.57607938302118,19.97015007757606,126.56705607814561,45.69385655384421&width=768&height=506&srs=EPSG:4326&format=application/openlayers',
   params:{ 
    'LAYERS':'capital',
    'TILED':false 
   }, 
 serverType:'geoserver'
  
 });
 var untiled = new ol.layer.Tile({
 source: vectorSource
 });
 var container = document.getElementById('popup');
 var content = document.getElementById('popup-content');
 var title = document.getElementById('popup-title');
 var closer = document.getElementById('popup-closer');
 closer.onclick = function(){
 container.style.display = 'none';
 closer.blur();
 return false;
 };
 var overlay = new ol.Overlay({
 element: container
 });
 
  var osmsource = new ol.source.OSM()
 //console.log(osmsource.getProjection().getCode()); 
 var map = new ol.Map({
 controls: ol.control.defaults({
 attribution: false
 }),
 target: 'map',
 layers: [new ol.layer.Tile({
 source: osmsource, //将数据源坐标系统进行转换
 projection:ol.proj.getTransform("EPSG:3857", "EPSG:4326")
 }),
 untiled],
 overlays: [overlay],
 view: new ol.View({
 center:[117,42],
 projection:'EPSG:4326',
 zoom:1
 })
 });
 map.addOverlay(overlay);
 map.getView().fit(bounds, map.getSize());
 
 map.on('click', function(evt) {
 var coordinate = evt.coordinate;
 var hdms = ol.coordinate.toStringHDMS(ol.proj.transform(
 coordinate, 'EPSG:4326', 'EPSG:4326'));
 overlay.setPosition(coordinate);
 content.innerHTML = '<p>You clicked here:</p><code>' + hdms +
 '</code>';
 container.style.display = 'block';
 title.innerHTML = "提示信息";
 title.style.display = 'block';
 map.getView().setCenter(coordinate);
 });
 }
 </script>
</head>
<body onLoad="init()">
<div id="map">
 <div id="popup" class="ol-popup">
 <a href="#" rel="external nofollow" id="popup-closer" class="ol-popup-closer"></a>
 <div id="popup-title" class="popup-title"></div>
 <div id="popup-content" class="popup-content"></div>
 </div>
</div>
</body>
</html>

效果图:

openlayers实现地图弹窗

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js+css实现增加表单可用性之提示文字
Jun 03 Javascript
js自动生成对象的属性示例代码
Oct 28 Javascript
jquery ajax分页插件的简单实现
Jan 27 Javascript
javascript每日必学之多态
Feb 23 Javascript
jQuery验证插件validate使用详解
May 11 Javascript
javascript对象的相关操作小结
May 16 Javascript
JS实现图片预加载之无序预加载功能代码
May 12 Javascript
JavaScript反弹动画效果的实现代码
Jul 13 Javascript
vue+vuecli+webpack中使用mockjs模拟后端数据的示例
Oct 24 Javascript
angular4+百分比进度显示插件用法示例
May 05 Javascript
微信小程序实现页面浮动导航
Jan 08 Javascript
详解JavaScript中精度失准问题及解决方法
Feb 04 Javascript
openlayers实现地图测距测面
Sep 25 #Javascript
openlayers 3实现车辆轨迹回放
Sep 24 #Javascript
vue-openlayers实现地图坐标弹框效果
Sep 24 #Javascript
vue集成openlayers加载geojson并实现点击弹窗教程
Sep 24 #Javascript
Vue+Openlayers自定义轨迹动画
Sep 24 #Javascript
vue使用openlayers实现移动点动画
Sep 24 #Javascript
Openlayers实现点闪烁扩散效果
Sep 24 #Javascript
You might like
如何在PHP中使用Oracle数据库(1)
2006/10/09 PHP
九个你必须知道而且又很好用的php函数和特点
2013/08/08 PHP
php读取富文本的时p标签会出现红线是怎么回事
2014/05/13 PHP
PHP实现事件机制的方法
2015/07/10 PHP
PHP 实现重载
2021/03/09 PHP
HTML中Select不用Disabled实现ReadOnly的效果
2008/04/07 Javascript
jquery中常用的SET和GET
2009/01/13 Javascript
js 键盘记录实现(兼容FireFox和IE)
2010/02/07 Javascript
js TextArea的选中区域处理
2010/12/28 Javascript
JS按位非(~)运算符与~~运算符的理解分析
2011/07/31 Javascript
获取下拉列表框的值是数组,split,$.inArray示例
2013/11/13 Javascript
javascript常用的正则表达式实例
2014/05/15 Javascript
深入理解JavaScript系列(31):设计模式之代理模式详解
2015/03/03 Javascript
JQuery创建DOM节点的方法
2015/06/11 Javascript
javascript中Array()数组函数详解
2015/08/23 Javascript
不依赖Flash和任何JS库实现文本复制与剪切附源码下载
2015/10/09 Javascript
JS实现禁止鼠标右键的功能
2016/10/15 Javascript
vue.js动态数据绑定学习笔记
2017/05/19 Javascript
详解AngularJS用Interceptors来统一处理HTTP请求和响应
2017/06/08 Javascript
基于Vue实现支持按周切换的日历
2020/09/24 Javascript
javascript实现文字无缝滚动效果
2017/08/26 Javascript
Vue+Mock.js模拟登录和表格的增删改查功能
2018/07/26 Javascript
vue 使用vue-i18n做全局中英文切换的方法
2018/10/29 Javascript
[01:34]2014DOTA2展望TI 剑指西雅图VG战队专访
2014/06/30 DOTA
使用py2exe在Windows下将Python程序转为exe文件
2016/03/04 Python
Java编程迭代地删除文件夹及其下的所有文件实例
2018/02/10 Python
python实现录音小程序
2020/10/26 Python
Python在图片中插入大量文字并且自动换行
2019/01/02 Python
Django实现发送邮件功能
2019/07/18 Python
利用Python脚本实现自动刷网课
2020/02/03 Python
Python龙贝格法求积分实例
2020/02/29 Python
python实现学生管理系统开发
2020/07/24 Python
大卫科波菲尔读书笔记
2015/06/30 职场文书
Vue接口封装的完整步骤记录
2021/05/14 Vue.js
python 如何在list中找Topk的数值和索引
2021/05/20 Python
剑指Offer之Java算法习题精讲二叉树的构造和遍历
2022/03/21 Java/Android