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 相关文章推荐
JavaScript 错误处理与调试经验总结
Aug 10 Javascript
JS关键字球状旋转效果的实例代码
Nov 29 Javascript
Node.js中AES加密和其它语言不一致问题解决办法
Mar 10 Javascript
JavaScript中Boolean对象的属性解析
Oct 21 Javascript
JS中的二叉树遍历详解
Mar 18 Javascript
几种经典排序算法的JS实现方法
Mar 25 Javascript
微信JS-SDK自定义分享功能实例详解【分享给朋友/分享到朋友圈】
Nov 25 Javascript
jQuery插件FusionCharts绘制的2D双柱状图效果示例【附demo源码】
May 13 jQuery
JavaScript 俄罗斯方块游戏实现方法与代码解释
Apr 08 Javascript
基于JS实现table导出Excel并保留样式
May 19 Javascript
jQuery使用hide()、toggle()函数实现相机品牌展示隐藏功能
Jan 29 jQuery
详解微信小程序(Taro)手动埋点和自动埋点的实现
Mar 02 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
桌面中心(二)数据库写入
2006/10/09 PHP
sourcesafe管理phpproj文件的补充说明(downmoon)
2009/04/11 PHP
postman的安装与使用方法(模拟Get和Post请求)
2018/08/06 PHP
laravel框架select2多选插件初始化默认选中项操作示例
2020/02/18 PHP
google 搜索框添加关键字实现代码
2010/04/24 Javascript
Jquery判断IE6等浏览器的代码
2011/04/05 Javascript
js防止表单重复提交实现代码
2012/09/05 Javascript
js触发asp.net的Button的Onclick事件应用
2013/02/02 Javascript
JavaScript中的call方法和apply方法使用对比
2015/08/12 Javascript
jQuery控制frames及frame页面JS的方法
2016/03/08 Javascript
Node.js读写文件之批量替换图片的实现方法
2016/09/07 Javascript
微信小程序 location API接口详解及实例代码
2016/10/12 Javascript
JS实现websocket长轮询实时消息提示的效果
2017/10/10 Javascript
jquery将json转为数据字典的实例代码
2019/10/11 jQuery
vue quill editor 使用富文本添加上传音频功能
2020/01/14 Javascript
vue实现虚拟列表功能的代码
2020/07/28 Javascript
[01:57]DOTA2上海特锦赛小组赛解说单车采访花絮
2016/02/27 DOTA
自己使用总结Python程序代码片段
2015/06/02 Python
python K近邻算法的kd树实现
2018/09/06 Python
解决pycharm remote deployment 配置的问题
2019/06/27 Python
python使用百度文字识别功能方法详解
2019/07/23 Python
基于django传递数据到后端的例子
2019/08/16 Python
PyTorch: 梯度下降及反向传播的实例详解
2019/08/20 Python
Python的形参和实参使用方式
2019/12/24 Python
解决python父线程关闭后子线程不关闭问题
2020/04/25 Python
python七种方法判断字符串是否包含子串
2020/08/18 Python
css3模拟jq点击事件的实例代码
2017/07/06 HTML / CSS
戴尔马来西亚官网:Dell Malaysia
2020/05/02 全球购物
在子网210.27.48.21/30种有多少个可用地址?分别是什么?
2014/07/27 面试题
学习全国两会精神心得体会范文
2014/03/17 职场文书
卖房协议书
2014/04/11 职场文书
超市促销活动总结
2014/07/01 职场文书
员工离职感谢信
2015/01/22 职场文书
演讲比赛通讯稿
2015/07/18 职场文书
防溺水主题班会教案
2015/08/12 职场文书
Java基础之线程锁相关知识总结
2021/06/30 Java/Android