openlayers实现地图弹窗
网络编程 2021-07-04 14:06www.168986.cn编程入门
这篇文章主要为大家详细介绍了openlayers实现地图弹窗,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
本文实例为大家分享了openlayers实现地图弹窗的具体代码,供大家参考,具体内容如下
<html xmlns="http://.w3./1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <link rel="stylesheet" href="https://openlayers./en/v5.3.0/css/ol.css" /> <script type="text/javascript" src="https://openlayers./en/v5.3.0/build/ol.js"></script> <script src="https://code.jquery./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 #; bottom: 12px; left: -50px; width: 200px; } .ol-popup:after, .ol-popup:before { : 100%; border: solid transparent; content: " "; height: 0; width: 0; position: absolute; pointer-events: none; } .ol-popup:after { border--color: white; border-width: 10px; left: 48px; margin-left: -10px; } .ol-popup:before { border--color: #; border-width: 11px; left: 48px; margin-left: -11px; } .popup-title{ font-weight: bold; border-bottom:1px solid #; padding: 5px 8px; } .popup-content{ padding: 5px 8px; } .ol-popup-closer { text-decoration: none; position: absolute; : 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>
效果图
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持狼蚁SEO。
编程语言
- 宿迁百度关键词排名指南:实现精准营销的关键
- 四川SEO优化怎么做网络推广
- 立昂技术备案老域名收购:如何为您的业务赋能
- 安徽百度关键词seo贵不贵,一般需要多少钱
- 吉林百度快照排名怎么做电话营销
- 多伦新手做SEO怎么做
- 甘肃优化关键词排名推广怎么做论坛营销
- 沙雅SEO网站推广:提升您的在线可见性
- 四川SEO优化如何提升销售额和销售量
- 聂荣网站排名优化:提升网站可见性的全方位指
- 涞水SEO:提升地方企业在线可见性的策略
- 辽宁百度seo排名怎样做网站排名
- 临湘哪有关键词排名优化:提升网站可见度的关
- 黑龙江百度网站优化有没有优惠
- 凉城优化关键词排名推广:提升您的网络可见性
- 萝北整站优化:提升您网站流量和排名的全面指