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 相关文章推荐
用Greasemonkey 脚本收藏网站会员信息到本地
Oct 26 Javascript
actionscript与javascript的区别
May 25 Javascript
php对mongodb的扩展(初识如故)
Nov 11 Javascript
JavaScript实现twitter puddles算法实例
Dec 06 Javascript
JavaScript中的Math.LOG2E属性使用详解
Jun 14 Javascript
基于javascript制作微信聊天面板
Aug 09 Javascript
总结javascript中的六种迭代器
Aug 16 Javascript
ExtJS 4.2 Grid组件单元格合并的方法
Oct 12 Javascript
vue.js将unix时间戳转换为自定义时间格式
Jan 03 Javascript
vue使用element-ui的el-input监听不了回车事件的解决方法
Jan 12 Javascript
vue.js实现三级菜单效果
Oct 19 Javascript
ES6 class类链式继承,实例化及react super(props)原理详解
Feb 15 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常用函数的用法详解
2013/05/10 PHP
php页面防重复提交方法总结
2013/11/25 PHP
PHP函数eval()介绍和使用示例
2014/08/20 PHP
php中strtotime函数用法详解
2014/11/15 PHP
mysql查找删除重复数据并只保留一条实例详解
2016/09/24 PHP
php 数组元素快速去重
2017/05/05 PHP
PHP使用phpunit进行单元测试示例
2019/09/23 PHP
jQuery阻止同类型事件小结
2013/04/19 Javascript
javascript date格式化示例
2013/09/25 Javascript
NodeJS的url截取模块url-extract的使用实例
2013/11/18 NodeJs
Js+Jq获取URL参数的集中方法示例代码
2014/05/20 Javascript
轻松学习jQuery插件EasyUI EasyUI创建CRUD应用
2015/11/30 Javascript
js表单处理中单选、多选、选择框值的获取及表单的序列化
2016/03/08 Javascript
AngularJS入门教程之Select(选择框)详解
2016/07/27 Javascript
前端实现文件的断点续传(前端文件提交+后端PHP文件接收)
2016/11/04 Javascript
jQuery树插件zTree使用方法详解
2017/05/02 jQuery
jQuery制作input提示内容(兼容IE8以上)
2017/07/05 jQuery
JSON创建键值对(key是中文或者数字)方式详解
2017/08/24 Javascript
VSCode中如何利用d.ts文件进行js智能提示
2018/04/13 Javascript
Angular2中监听数据更新的方法
2018/08/31 Javascript
JS异步宏队列微队列原理详解
2020/09/09 Javascript
[01:01:24]DOTA2上海特级锦标赛A组败者赛 EHOME VS CDEC第三局
2016/02/25 DOTA
python基于pyDes库实现des加密的方法
2017/04/29 Python
Python整型运算之布尔型、标准整型、长整型操作示例
2017/07/21 Python
Python 数据可视化pyecharts的使用详解
2019/06/26 Python
将python安装信息加入注册表的示例
2019/11/20 Python
python中id函数运行方式
2020/07/03 Python
selenium框架中driver.close()和driver.quit()关闭浏览器
2020/12/08 Python
python wsgiref源码解析
2021/02/06 Python
体育专业学生自我评价范文
2014/01/17 职场文书
最新个人职业生涯规划书
2014/01/22 职场文书
幼师小班个人总结
2015/02/12 职场文书
2015年医药代表工作总结
2015/04/25 职场文书
golang 实现Location跳转方式
2021/05/02 Golang
spring boot项目application.properties文件存放及使用介绍
2021/06/30 Java/Android
Java8 Stream API 提供了一种高效且易于使用的处理数据的方式
2022/04/13 Java/Android