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

物流网站建设计划书主流网站模板

物流网站建设计划书,主流网站模板,东莞大岭山邮政编码是多少,菏泽网站建设服务前言 这里主要是展示一下 openlayers 的一个基础的使用 主要是设计 接入地图服务器的 卫星地图, 普通的二维地图, 增加地区标记 增加 省市区县 的边界标记 基础绘制 点线面园 等等 测试用例 templatediv stylewidth: 1920px; height:1080px; templatediv stylewidth: 1920px; height:1080px; div classolMapUsageClass/divdiv classoverdelay1 refoverdelay1 this is over delay1/div/div/templatescriptimport Map from ol/Mapimport View from ol/Viewimport DragPan from ol/interaction/DragPanimport MouseWheelZoom from ol/interaction/MouseWheelZoomimport PointerInteraction from ol/interaction/Pointerimport GeoJSON from ol/format/GeoJSONimport {Tile as TileLayer} from ol/layerimport {Vector as VectorLayer} from ol/layerimport {Image as ImageLayer} from ol/layerimport {Vector as VectorSource} from ol/sourceimport {Feature as Feature} from olimport Point from ol/geom/Pointimport LineString from ol/geom/LineStringimport Polygon from ol/geom/Polygonimport CircleGeo from ol/geom/Circleimport XYZ from ol/source/XYZimport ImageStatic from ol/source/ImageStaticimport {Circle, Fill, Icon, RegularShape, Stroke, Style, Text} from ol/styleimport Overlay from ol/Overlayimport {transformExtent, transform} from ol/projlet sichuanJson require(../../public/json/sichuan.json)export default {name: olMapUsage,components: {},props: {},data() {return {map: null,tdtImgLayer: null,labelLayer: null,overlay: null,};},computed: {},watch: {},created() {},mounted() {this.initMap()this.test01AddBoundsLayer()this.test02AddDtImageLayer()// this.test03AddDtTDLayer()this.test04AddDtLabelLayer()this.test05AddImageLayer()this.test06AddCircleLayer([104.065735, 30.359462])this.test06AddCircleLayer([104.565735, 30.859462], red)this.test07AddLineLayer()this.test08AddAreaLayer()this.test09AddCircleLayer()// this.test12SetCenterThenAddOverlay()},methods: {initMap() {let center [104.065735, 30.659462]let projection EPSG:4326let zoom 10let minZoom 5let maxZoom 20const layer []const view new View({...(this.viewOptions || {}),projection,center,zoom,minZoom,maxZoom})this.map new Map({...(this.mapOptions || {}),layers: [].concat(layer),view: view,target: this.$el,controls: [],interactions: [new DragPan(),new MouseWheelZoom(),new PointerInteraction({handleEvent: this.handleEvent})]})},test01AddBoundsLayer() {const source new VectorSource({})const style {color: rgba(75,165,234,1), width: 3}const fill rgba(255,255,255,0)let parsedStyle this.parseStyle({style, fill})const boundsLayer new VectorLayer({zIndex: 1,source,parsedStyle})this.appendBounds2VectorLayer(boundsLayer, sichuanJson)this.map.addLayer(boundsLayer)},test02AddDtImageLayer() {this.tdtImgLayer new TileLayer({zIndex: 2,source: new XYZ({projection: EPSG:4326,url: http://192.168.1.111:8888/tianditu/servlet/GoogleSatelliteMap?x{x}y{y}z{z},}),});this.map.addLayer(this.tdtImgLayer);},test03AddDtTDLayer() {this.tdtImgLayer new TileLayer({zIndex: 2,source: new XYZ({projection: EPSG:4326,url: http://192.168.1.111:8888/tianditu/servlet/GoogleTDMap?x{x}y{y}z{z},}),});this.map.addLayer(this.tdtImgLayer);},test04AddDtLabelLayer() {this.labelLayer new TileLayer({zIndex: 2,source: new XYZ({projection: EPSG:4326,url: http://192.168.1.111:8888/tianditu/servlet/GoogleTransparentMap?x{x}y{y}z{z},}),});this.map.addLayer(this.labelLayer);},test05AddImageLayer() {// let extent transformExtent([104.065735, 30.659462, 104.165735, 30.759462], EPSG:4326, EPSG:4326)let extent [104.065735, 30.659462, 104.165735, 30.759462]let imageLayer new ImageLayer({zIndex: 20,source: new ImageStatic({url: /img/theme/desktop/17.jpg,projection: EPSG:4326,imageExtent: extent}),});this.map.addLayer(imageLayer);},test06AddCircleLayer(coord, color) {color color || greenlet style new Style({image: new Circle({radius:20,fill: new Fill({color: color})})})let feature new Feature({geometry: new Point(coord)})feature.setStyle(style)let source new VectorSource()source.addFeature(feature)let layer new VectorLayer({zIndex: 20,source: source})this.map.addLayer(layer);},test07AddLineLayer() {let style new Style({stroke: new Stroke({color: blue,width: 3})})let feature new Feature({geometry: new LineString([[104.065735, 30.359462],[104.165735, 30.359462],[104.265735, 30.459462],])})feature.setStyle(style)let source new VectorSource()source.addFeature(feature)let layer new VectorLayer({zIndex: 20,source: source})this.map.addLayer(layer);},test08AddAreaLayer() {let style new Style({fill: new Fill({color: #ff0000}),stroke: new Stroke({color: blue,width: 3})})let feature new Feature({geometry: new Polygon([[transform([104.065735, 30.559462], EPSG:4326, EPSG:4326),transform([104.165735, 30.559462], EPSG:4326, EPSG:4326),transform([104.165735, 30.659462], EPSG:4326, EPSG:4326),]])})feature.setStyle(style)let source new VectorSource()source.addFeature(feature)let layer new VectorLayer({zIndex: 20,source: source})this.map.addLayer(layer);},test09AddCircleLayer() {let style new Style({fill: new Fill({color: #ffff00}),stroke: new Stroke({color: #00ffff,width: 3})})let feature new Feature({geometry: new CircleGeo(transform([104.665735, 30.559462], EPSG:4326, EPSG:4326), 0.2)// geometry: new Circle([104.265735, 30.559462], 300)})feature.setStyle(style)let source new VectorSource()source.addFeature(feature)let layer new VectorLayer({zIndex: 20,source: source})this.map.addLayer(layer);},test10SetCenter(coord, color) {this.map.getView().setCenter(coord)this.test06AddCircleLayer(coord, color)},test11AddOverlay(coord) {this.overlay this.map.removeOverlay(this.overlay)this.overlay new Overlay({element: this.$refs.overdelay1,position: coord,positioning: bottom-center,offset: [0, 0],autoPan: true,autoPanMargin: 200,autoPanAnimation: {duration: 1000},map: this.map})this.map.addOverlay(this.overlay)},test12SetCenterThenAddOverlay() {// refer cyclethis.test06AddCircleLayer([10.265735, 10.659462], #007f5a)this.test06AddCircleLayer([105.565735, 30.759462], #0039ff)let _this this// use this for map.addOverlays animation updatesetTimeout(function() {_this.test11AddOverlay([10.065735, 10.459462])_this.test10SetCenter([10.065735, 10.459462], yellow)}, 2000)// the core case, normal or exception or compensatedsetTimeout(function() {// case1. function of addOverlay_this.test11AddOverlay([105.065735, 30.259462])// case2. normal case// _this.test11AddOverlay([105.065735, 30.259462])// _this.test10SetCenter([105.065735, 30.259462], red)// case3. exception case// _this.test10SetCenter([105.065735, 30.259462], red)// _this.test11AddOverlay([105.065735, 30.259462])// case4. compensated case// _this.test10SetCenter([105.065735, 30.259462], red)// setTimeout(function() {// _this.test11AddOverlay([105.065735, 30.259462])// }, 1000)}, 5000)},appendBounds2VectorLayer(layer, json) {const geoJson this.geoJsonDecode(json);let features new GeoJSON().readFeatures(geoJson) || [];features features.map(feature {feature.__vm__ this;return feature});const source layer.getSource();source.addFeatures(features)},handleEvent(e) {if (e.type pointermove) {return true}console.log( handle event : , e)return true},geoJsonDecode(json) {const features json.features || []features.forEach(feature {const geometry feature.geometry || {}const {coordinates, encodeOffsets} geometryif (!encodeOffsets) returngeometry.coordinates coordinates.map((coordinate, i) {if (Array.isArray(coordinate)) {return coordinate.map((item, j) {return this.decodePolygon(item, encodeOffsets[i][j])})} else {return this.decodePolygon(coordinate, encodeOffsets[i])}})geometry.encodeOffsets null})return json},decodePolygon(coordinate, encodeOffsets) {const result [];let prevX encodeOffsets[0];let prevY encodeOffsets[1];for (let i 0; i coordinate.length; i 2) {let x coordinate.charCodeAt(i) - 64;let y coordinate.charCodeAt(i 1) - 64;x (x 1) ^ (-(x 1));y (y 1) ^ (-(y 1));x prevX;y prevY;prevX x;prevY y;result.push([x / 1024, y / 1024]);}return result;},parseStyle(settings, StyleModel) {const PROPS_MAP {fill: Fill,text: Text,stroke: Stroke,circle: Circle,icon: Icon,regularShape: RegularShape,backgroundFill: Fill,backgroundStroke: Stroke}const IMAGE_PROPS [Circle, Icon, RegularShape]const opts {};Object.entries(settings).forEach(([key, value]) {const Model PROPS_MAP[key];if (key font) {value ${value} sans-serif}opts[IMAGE_PROPS.includes(Model) ? image : key] this.parseValue(Model, key, value)});return new (StyleModel || Style)(opts)},parseValue(Model, key, value) {if (value undefined || value null) return;if (!Model) return value;if ([fill, backgroundFill].includes(key)) return this.parseFill(value);if (key text) {return isObject(value) ? parse(value, Model) : value}return parse(value, Model)},parseFill(fill) {const opts this.isObject(fill) ? fill : {color: fill}return new Fill(opts)},isObject(value) {return typeof value object}}}; /scriptstyle langscss.olMapUsageClass {}.overdelay1 {position: absolute;border: 1px greenyellow solid;width: 200px;height: 50px;} /style 绘制卫星地图  地图标注 执行效果如下  二维地图  地图标注 执行效果如下  二维地图  地图边界 执行效果如下  绘制点线面园  执行效果如下  卫星地图  地图标注  点线面园  执行效果如下  完
http://www.zqtcl.cn/news/740928/

相关文章:

  • 手机网站后台源码枣庄市建设局网站
  • 网站建设傲鸿wordpress 获取分类下的文章
  • 网站运行速度优化wordpress国内优化
  • wordpress全站网易云音乐播放网站建设案例公司
  • 湘潭网站建设多少钱 报价表湘潭磐石网络北京百度seo点击器
  • 什么做的网站电子商务网站的建设的原理
  • 河北建站科技网络公司媒体平台
  • 做同城信息类网站如何赚钱石景山网站建设多少钱
  • 用ip的网站要备案吗网站的建设维护及管理制度
  • dedecms 百度网站地图南宁比优建站
  • 沈阳大熊网站建设制作怎么增加网站的权重
  • 网站建设 价格低建设网站大约多少钱
  • 好看简单易做的网站北京网站建设华网天下定制
  • 黑群晖做网站云主机搭建网站
  • 网站首页默认的文件名一般为微信app网站建设
  • 珠海网站建设方案优化一个企业是如何做网站建设的
  • 重庆网站建设重庆最加科技潜江人才网官网
  • 网站建设规划书百度文库陕西做网站找谁
  • 昆明网站的优化网站访问跳出率
  • 四川省建设厅官方网站三内人员沈阳医大男科怎么样
  • 个性个人网站模板公司电子版简介模板
  • 网站建设百度做棋牌网站多少钱
  • 百度免费网站申请北京网站开发招聘58
  • 网站关键词排名如何提升小餐馆简易装修
  • 苏州手机网站建设多少钱牛商网上市了吗
  • 网站制作技术建设部网站监理工程师查询
  • 自助做网站嘉兴做网站优化
  • 淘宝客网站开发视频新手 网站建设 书籍
  • 在哪个网站做旅游攻略好做推广便宜的网站
  • 濮阳做网站推广做网站为什么要建站点