当前位置: 首页 > news >正文

网站开发点赞收藏设计思路整合营销经典案例

网站开发点赞收藏设计思路,整合营销经典案例,镇江建设局网站,企业管理系统论文文章目录 简介overlay 实现popup弹窗overlay 实现label 标注信息overlay实现 text 文本信息完整代码 简介 常见的地图覆盖物为这三种类型,如:popup弹窗、label标注信息、text文本信息等。 overlay 实现popup弹窗 方法详解 实例一个 new Overlay()&…

文章目录

    • 简介
    • overlay 实现popup弹窗
    • overlay 实现label 标注信息
    • overlay实现 text 文本信息
    • 完整代码

简介


常见的地图覆盖物为这三种类型,如:popup弹窗、label标注信息、text文本信息等。

overlay 实现popup弹窗

方法详解

  1. 实例一个 new Overlay(),设置相关的属性,element 是和页面的 最外层弹窗的dom进行绑定
  2. 通过 map.addOverlay(this.overlay) 把 overlay弹窗添加到页面
  3. closer.onclick 添加一个 x 关闭弹窗事件
  4. 通过 this.map.on(“singleclick”, function(evt) 事件点击地图触发弹窗效果

在这里插入图片描述

overlay 实现label 标注信息

// 创建一个标注信息
const addMarker = () => {var marker = new Overlay({position: fromLonLat([104.043505, 30.58165]),positioning: 'center-center',element: document.getElementById('marker'),stopEvent: false,});map.value.addOverlay(marker);
};

在这里插入图片描述

overlay实现 text 文本信息

// 创建文字标签 label
const addText = () => {var textInfo = new Overlay({position: fromLonLat([104.043505, 30.58165]),offset: [20, -20],element: document.getElementById('textInfo'),});map.value.addOverlay(textInfo);
};

完整代码

<!--* @Author: zhangchao zhang_chao96@163.com* @Date: 2023-07-05 15:20:38* @LastEditors: zhangchao zhang_chao96@163.com* @LastEditTime: 2023-07-06 15:46:16* @FilePath: \v3_test\src\views\index.vue* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
-->
<template><div id="content"><div id="marker"></div><div id="map"></div><div id="textInfo">我是text文本信息</div><div id="popup" class="ol-popup"><a href="#" id="popup-closer" class="ol-popup-closer"></a><div id="popup-content" class="popup-content"></div></div></div>
</template>
<script setup>
import { ref, onMounted } from 'vue';
import 'ol/ol.css';
import { Map, View } from 'ol';
import { defaults as defaultControls } from 'ol/control';
import Tile from 'ol/layer/Tile';
import { fromLonLat, transform, toLonLat } from 'ol/proj';
import OSM from 'ol/source/OSM';
import Overlay from 'ol/Overlay';
import { toStringHDMS } from 'ol/coordinate';
const map = ref();
const initMap = () => {let titleLayer = [new Tile({source: new OSM(),}),];let view = new View({center: fromLonLat([104.912777, 34.730746]), //地图中心坐标zoom: 4.5,});map.value = new Map({target: 'map',layers: titleLayer,view: view,});
};
// 创建一个标注信息
const addMarker = () => {var marker = new Overlay({position: fromLonLat([104.043505, 30.58165]),positioning: 'center-center',element: document.getElementById('marker'),stopEvent: false,});map.value.addOverlay(marker);
};
// 创建文字标签 label
const addText = () => {var textInfo = new Overlay({position: fromLonLat([104.043505, 30.58165]),offset: [20, -20],element: document.getElementById('textInfo'),});map.value.addOverlay(textInfo);
};
// 弹框
const overlay = ref();
const addPopup = () => {// 使用变量存储弹窗所需的 DOM 对象var container = document.getElementById('popup');var closer = document.getElementById('popup-closer');var content = document.getElementById('popup-content');overlay.value = new Overlay({element: container, //绑定 Overlay 对象和 DOM 对象的autoPan: false, // 定义弹出窗口在边缘点击时候可能不完整 设置自动平移效果autoPanAnimation: {duration: 250, //自动平移效果的动画时间 9毫秒)},});map.value.addOverlay(overlay.value);closer.onclick = function () {overlay.value.setPosition(undefined);closer.blur();return false;};map.value.on('singleclick', function (evt) {let coordinate = transform(evt.coordinate, 'EPSG:3857', 'EPSG:4326');// 点击尺 (这里是尺(米),并不是经纬度);let hdms = toStringHDMS(toLonLat(evt.coordinate)); // 转换为经纬度显示content.innerHTML = `<p>你点击了这里:</p><p>经纬度:<p><code> ${hdms}  </code> <p><p>坐标:</p>X:${coordinate[0]} &nbsp;&nbsp; Y: ${coordinate[1]}`;overlay.value.setPosition(evt.coordinate); //把 overlay 显示到指定的 x,y坐标});
};
onMounted(() => {initMap();addMarker();addText();addPopup();
});
</script>
<style lang="scss" scoped>
#content,
#map {height: 100%;
}
#marker {width: 20px;height: 20px;background: red;border-radius: 50%;
}
#textInfo {width: 200px;height: 40px;line-height: 40px;background: burlywood;color: yellow;text-align: center;font-size: 20px;
}.ol-popup {position: absolute;background-color: white;-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));padding: 15px;border-radius: 10px;border: 1px solid #cccccc;bottom: 12px;left: -50px;
}
.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;
}
.ol-popup-closer {text-decoration: none;position: absolute;top: 2px;right: 8px;
}
.popup-content {width: 400px;
}
.ol-popup-closer:after {content: '✖';
}
</style>
http://www.khdw.cn/news/20530.html

相关文章:

  • 中山 在门户网站推广关键词优化网站排名
  • 品牌网站建设有什么作用南昌网站开发公司
  • 青州网站建设公司营销策划的重要性
  • 为赌博网站做代理来客seo
  • 网站备案信息页面性价比高seo排名优化的
  • 中国空间站vr全景成都百度网站排名优化
  • 河北省中级经济师考试seo关键词排名优化软件怎么选
  • 2345浏览器手机版seo优化中以下说法正确的是
  • 山东嘉邦家居用品公司网站 加盟做经销商多少钱 有人做过吗平台推广销售话术
  • 怎么做网站免费重庆森林讲的什么内容
  • 山东济南市莱芜区疫情最新消息北京网站优化排名
  • 免费双语网站模板西安企业做网站
  • 广州英文网站建设百度经验app
  • wordpress图片分页插件网络优化工具app手机版
  • 邯郸做wap网站找谁申请一个网站
  • 自己做传奇sf网站2345网址导航是病毒吗
  • wordpress批量定时更新温州seo排名优化
  • 网站建设公司发展营销型网站特点
  • 简洁大气传媒公司名字衡阳seo外包
  • 微信网站开发服装品牌策划及营销推广方案
  • 手机wap浏览器seo 重庆
  • 做阿里妈妈没有自己网站怎么推广啊网站注册查询
  • 做网站主流网站百度推广开户联系方式
  • 网站制作实例教程营销型企业网站诊断
  • 开发公司修路的费用网络营销推广优化
  • 怎样提高网站知名度免费网站创建
  • 中国小说网站策划与建设关键词优化快速
  • 国内四大门户网站销售怎么做
  • 怎么做网络乞丐网站北京网聘咨询有限公司
  • 旅游网站设计希爱力的作用与功效