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

网站添加合适图片wordpress 取一类文章

网站添加合适图片,wordpress 取一类文章,好心人给个安全的网站,网站开发 银行接入 ca 认证 接入文章目录 一、前言二、效果三、实现方法2.1 思路2.2 方法2.3 使用 App.vue 一、前言 上一篇文章:【Cesium】五、地图实现鹰眼效果(三维),虽然实现了3D 的鸟瞰图效果,但是只有鸟瞰图跟着 主地图在动,如果 在…

文章目录

  • 一、前言
  • 二、效果
  • 三、实现方法
    • 2.1 思路
    • 2.2 方法
    • 2.3 使用
  • App.vue

一、前言

上一篇文章:【Cesium】五、地图实现鹰眼效果(三维),虽然实现了3D 的鸟瞰图效果,但是只有鸟瞰图跟着 主地图在动,如果 在鸟瞰图上操作 主地图却不会跟着同步。本文则是实现主地图与鸟瞰图的联动效果。

本文参考文章:cesium实现鹰眼地图(三维)与主图联动效果

二、效果

在这里插入图片描述

三、实现方法

2.1 思路

鹰眼地图与主图联动,需要判断是主图在动,还是鹰眼地图在动,即需要判断触发事件,否者会造成循环联动,无法实现效果。

2.2 方法

utils 下新建HawkEye3DMap.js 文件,代码如下:

import * as Cesium from "cesium";
/*** @description: 三维鹰眼地图及与主图联动* @param {*}* @return {*}*/
export class HawkEye3DMap {constructor(viewer) {// 主图this._viewer = viewer;// 鹰眼图this._hawkEyeMap = null;// 判断事件是主图触发还是鹰眼地图触发this._isMainMapTrigger = false;this._isEyeMapTrigger = false;}// 初始化函数_init() {this._divInit();this._mapInit();}// 创建div,并设置样式_divInit() {let hawkEyeDiv = document.createElement("div");hawkEyeDiv.setAttribute('id', "hawkEye3dMap");hawkEyeDiv.style.cssText = "position: absolute;left: 70% ;top: 2% ;border-radius: 50% ;height: 160px;width: 160px;overflow: hidden;border: 2px solid #002FA7;"document.getElementsByTagName("body").item(0).appendChild(hawkEyeDiv);};_mapInit() {// div创建完成后才能初始化地图,否则会找不到div保错// 初始化地图this._hawkEyeMap = new Cesium.Viewer('hawkEye3dMap', {infoBox: false,geocoder: false,homeButton: false,sceneModePicker: false,baseLayerPicker: false,navigationHelpButton: false,animation: false,timeline: false,fullscreenButton: false,});this._hawkEyeMap.cesiumWidget.creditContainer.style.display = 'none';this._hawkEyeMap.scene.backgroundColor = Cesium.Color.TRANSPARENT;this._hawkEyeMap.imageryLayers.removeAll();// 鹰眼图中添加高德路网中文注记图(鹰眼图中坐标偏移一点不影响)this._hawkEyeMap.imageryLayers.addImageryProvider(new Cesium.UrlTemplateImageryProvider({url: "http://webrd02.is.autonavi.com/appmaptile?lang=zh_cn&size=1&scale=1&style=8&x={x}&y={y}&z={z}",minimumLevel: 3,maximumLevel: 18}));// 引起事件监听的相机变化幅度this._viewer.camera.percentageChanged = 0.02;this._hawkEyeMap.camera.percentageChanged = 0.5;this._bindEvent();}// 绑定事件_bindEvent() {// 鹰眼与主图同步this._viewer.camera.changed.addEventListener(this._syncEyeMap, this);// 第一次刷新渲染时联动this._viewer.scene.preRender.addEventListener(this._syncEyeMap, this);// 主图与鹰眼图同步this._hawkEyeMap.camera.changed.addEventListener(this._syncMap, this);this._hawkEyeMap.scene.preRender.addEventListener(this._syncMap, this);}// 同步主图与鹰眼地图_syncEyeMap() {// 监听主图new Cesium.ScreenSpaceEventHandler(this._viewer.canvas).setInputAction(() => {this._isMainMapTrigger = true;this._isEyeMapTrigger = false;}, Cesium.ScreenSpaceEventType.MOUSE_MOVE);// 判断是否为主图移动if (!this._isMainMapTrigger) {return false;}this._hawkEyeMap.camera.flyTo({destination: this._viewer.camera.position,orientation: {heading: this._viewer.camera.heading,pitch: this._viewer.camera.pitch,roll: this._viewer.camera.roll,},duration: 0.0,})}// 鹰眼地图与主图联动效果_syncMap() {// 监听鹰眼地图new Cesium.ScreenSpaceEventHandler(this._hawkEyeMap.canvas).setInputAction(() => {this._isMainMapTrigger = false;this._isEyeMapTrigger = true;}, Cesium.ScreenSpaceEventType.LEFT_DOWN)// 判断是否为鹰眼地图移动if (!this._isEyeMapTrigger) {return false;}this._viewer.camera.flyTo({destination: this._hawkEyeMap.camera.position,orientation: {heading: this._hawkEyeMap.camera.heading,pitch: this._hawkEyeMap.camera.pitch,roll: this._hawkEyeMap.camera.roll,},duration: 0.0,})}
}

2.3 使用

首先在vue文件中引入刚刚的js文件

import { HawkEye3DMap } from "@/utils/HawkEye3DMap.js"

随后在script 中调用方法

// 鹰眼地图初始化 联动效果
let hawkEyeMap = new HawkEye3DMap(viewer);
hawkEyeMap._init();

App.vue

上面是部分代码,下面附上App.vue的全部代码,仅供参考

<template><div id="cesiumContainer"></div><div id="hawkEyeMap"></div>
</template>
<script setup>
import { onMounted, reactive, ref } from "vue";
import * as Cesium from "cesium";
import { HawkEye3DMap } from "@/utils/HawkEye3DMap.js"
const initFn = async () => {const viewer = new Cesium.Viewer("cesiumContainer", {infoBox: false,geocoder: false,homeButton: false,sceneModePicker: false,baseLayerPicker: true,navigationHelpButton: false,animation: false,timeline: false,fullscreenButton: false,vrButton: false,});viewer._cesiumWidget._creditContainer.style.display = "none"; //取消版权信息const imageLayers = viewer.scene.imageryLayers;imageLayers.remove(imageLayers.get(0)); //移除默认影像图层const TDTTK = "337bc7a038fe9d239af76ab013ff4594"; //填入你自己的天地图Key// 天地图影像const tdtLayer = new Cesium.WebMapTileServiceImageryProvider({url: `http://t0.tianditu.com/img_w/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=img&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles&TILEMATRIX={TileMatrix}&TILEROW={TileRow}&TILECOL={TileCol}&tk=${TDTTK}`,layer: "tdt",style: "default",format: "image/jpeg",tileMatrixSetID: "w",maximumLevel: 18,show: false,});viewer.imageryLayers.addImageryProvider(tdtLayer);// 天地图注记const tdtAnnotionLayer = new Cesium.WebMapTileServiceImageryProvider({url: `http://t0.tianditu.com/cia_w/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=cia&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles&TILEMATRIX={TileMatrix}&TILEROW={TileRow}&TILECOL={TileCol}&tk=${TDTTK}`,layer: "tdtAnno",style: "default",format: "image/jpeg",tileMatrixSetID: "w",maximumLevel: 18,show: false,});viewer.imageryLayers.addImageryProvider(tdtAnnotionLayer);// 鹰眼地图初始化 联动效果let hawkEyeMap = new HawkEye3DMap(viewer);hawkEyeMap._init();};onMounted(() => {// Cesium 初始化initFn();
});
</script>
<style>
#app {width: 100%;height: 100%;font-family: sans-serif;text-align: center;
}html,
body,
#cesiumContainer {width: 100%;height: 100%;margin: 0;padding: 0;overflow: hidden;
}/* 鹰眼图样式 */
#hawkEyeMap {position: absolute;left: 70%;top: 2%;border-radius: 50%;height: 160px;width: 160px;overflow: hidden;border: 2px solid #002FA7;
}
</style>

后面我还会更新更多关于cesium知识,敬请关注。

http://www.yayakq.cn/news/353431/

相关文章:

  • 微网站建设包括哪些方面部署iis网站
  • 美乐乐是哪个公司做的网站本地开发app的公司
  • 手机上传视频网站开发招商加盟网站建设目的
  • 手机网站技巧临汾做网站公司
  • 网站10月份可以做哪些有意思的专题贵阳做网站公司排名
  • wordpress生成静态页百度seo公司有哪些
  • 网站域名服务器一年多少钱wordpress审批优化
  • 成都网站建设网站建设哪家好wordpress主题去谷歌字体
  • 手机端企业网站源码建筑信号工
  • 张家口住房和城乡建设厅网站苏州城乡建设局网站质检员
  • 山东省住房城乡建设厅查询网站首页做网站优化
  • 太原网站建设维护深圳金融投资网站建设
  • 电商网站英文高端网站制作上海
  • 西安网站建设开发店面设计流程
  • 网站建设原则包括哪些方面辽宁网站建设墨子
  • 百度下拉框推广网站dw个人网站模板
  • html5网站开发教学wordpress编辑器添加
  • 成都网站建设四川冠辰免费企业网站注册
  • 领硕网站seo优化wordpress is tax
  • 不干净的软件下载网站石家庄市建设工程信息网
  • 自己做自己的私人网站做dj网站能赚钱吗
  • WordPress移动站竞价服务托管价格
  • 网站建站平台 开源阎良做网站
  • 在线借贷网站建设最成功设计 网站
  • 网站页面html静态化是什么意思wordpress微云解析插件
  • 溧阳市建设局网站自媒体网站源码
  • 南京网站建设公司 雷监理工程师成绩在建设部哪个网站查
  • 想给孩子找点题做 都有什么网站建筑工程挂网甩浆
  • 怎么做电玩网站wordpress邮箱汉化插件
  • 广州住房和建设局网站标准网站建设费用