国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

vue+openlayers繪制省市邊界線

瀏覽:20日期:2022-10-16 13:35:48

本文實例為大家分享了vue+openlayers繪制省市邊界線的具體代碼,供大家參考,具體內容如下

vue+openlayers繪制省市邊界線

1、創建項目

vue init webpack ol_vue

vue+openlayers繪制省市邊界線

2、安裝ol依賴包

npm install ol

3、引入axios

npm install axios --save

文件目錄:src/main.js

import Vue from ’vue’import router from ’./router’import App from ’./App’import axios from 'axios';//添加實例屬性:不想污染全局作用域,在原型上定義它們使其在每個 Vue 的實例中可用。prototype向對象添加屬性和方法。// $ 是在 Vue 所有實例中都可用的屬性的一個簡單約定。Vue.prototype.$axios = axios//阻止啟動生產消息。Vue.config.productionTip = false//開啟debug模式//Vue.config.debug = true//禁用ESLint進行檢測/* eslint-disable no-new */new Vue({ el: ’#app’, router, components: { App }, template: ’<App/>’})

4、api

文件目錄:static/js/api.js

const host = ’https://api.obtdata.com/’;export default { ’searchcity’: host + ’standard/searchcity’}

5、實現代碼

<template> <div> <div id='map'></div> </div></template><script> import Map from ’ol/Map’ import View from ’ol/View’ import TileLayer from ’ol/layer/Tile’ import GeoJSON from ’ol/format/geoJson’ import Feature from ’ol/Feature’ import vectorLayer from ’ol/layer/Vector’ import SourceVector from ’ol/source/Vector’ import {Style,Stroke} from ’ol/style’ import OSM from ’ol/source/OSM’ import {fromLonLat} from ’ol/proj.js’ import api from ’../static/js/api’ export default { name: 'app', data () { return { map: null, source:null, resData:null, vector: null } }, mounted () { //ol.source.Vector,提供矢量圖層數據 var source = new SourceVector({ wrapX: false, code: ’EPSG:4326’, }); //ol.layer.Vector用于顯示在客戶端渲染的矢量數據。 this.vector = new vectorLayer({ source: source, }); this.map = new Map({ target: ’map’, layers: [ new TileLayer({ source: new OSM() }), this.vector ], view: new View({ center: fromLonLat([110.850881285943,30.1253920380122]),//湖南省 zoom: 5 }) }); this.searchCity() }, methods:{ searchCity() { //axios獲取數據 this.$axios .get(api.searchcity, { params: { code: ’43’ } }) .then((res) => { this.resData = res.data.geom; //console.log(this.resData) //ol.format.GeoJSON:以GeoJSON格式讀取和寫入數據 //readGeometry (source,opt_options)閱讀幾何圖形 //dataProjection投影我們正在閱讀的數據 //featureProjection投影格式閱讀器創建的要素幾何 var geom=(new GeoJSON()).readGeometry(this.resData,{ dataProjection:’EPSG:4326’, featureProjection:’EPSG:3857’ }); //ol.Feature具有幾何和其他屬性屬性的地理要素的矢量對象 var feature=new Feature(geom); //ol.source.Vector提供矢量圖層的要素源 //features特征。如果提供為module:ol/Collection,則源和集合中的功能將保持同步。 //wrapX水平包裹世界。對于橫跨-180°和180°子午線的矢量編輯以正常工作,應將其設置為false。 var source=new SourceVector({ features:[feature], wrapX:false }); //getFeatures以隨機順序獲取源上的所有功能。 //getGeometry獲取要素的默認幾何體。 var polygons=(source.getFeatures()[0].getGeometry()); var size=(this.map.getSize()); //addFeature向源添加單個功能。 this.vector.getSource().addFeature(feature); //fit(geometryOrExtent,opt_options)根據給定的地圖大小和邊框擬合給定的幾何或范圍。 this.map.getView().fit(polygons,size); }) } } }</script><style scoped></style>

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Vue
相關文章:
主站蜘蛛池模板: 国产免费黄视频 | 欧美日韩视频一区二区在线观看 | 收集最新中文国产中文字幕 | 日p免费视频 | 高清精品女厕在线观看 | 在线观看日本免费视频大片一区 | 欧美精品午夜毛片免费看 | 亚州免费一级毛片 | 怡红院成人永久免费看 | 涩里番资源网站在线观看 | 国产一区二区三区国产精品 | 欧美自拍网 | 久久视频这里只有精品 | 高清日本在线成人免费视频 | 中文在线日韩 | 国产精品莉莉欧美自在线线 | 欧洲乱码伦视频免费 | 黄片毛片在线观看 | 亚洲精品色一区二区三区 | 国内精品久久久久久影院8f | 国产乱子伦真实china | 亚洲欧美日韩国产精品久久 | 色综合久久综合 | 97免费在线观看视频 | 香蕉视频亚洲一级 | 免费看一级欧美毛片视频 | 成人a视频 | 成人亚州| 俄罗斯黄色一级片 | 一级特级欧美a毛片免费 | 国产精品亚洲精品久久成人 | 12至16末成年毛片视频 | 寡妇一级a毛片免费播放 | 国产欧美日韩亚洲精品区2345 | 日本特黄aaaaaaa大片 | 一级做a爰片久久毛片看看 一级做a爰片久久毛片鸭王 | 三级伦理网站 | 国产一级特黄aa级特黄裸毛片 | 香蕉超级碰碰碰97视频蜜芽 | 泷泽萝拉亚洲精品中文字幕 | 美女黄色毛片免费看 |