a544a113 by unknown

20191217

1 parent 610f7763
...@@ -211,6 +211,11 @@ ...@@ -211,6 +211,11 @@
211 "resolved": "https://registry.npmjs.org/@mapbox/whoots-js/-/whoots-js-3.1.0.tgz", 211 "resolved": "https://registry.npmjs.org/@mapbox/whoots-js/-/whoots-js-3.1.0.tgz",
212 "integrity": "sha512-Es6WcD0nO5l+2BOQS4uLfNPYQaNDfbot3X1XUoloz+x0mPDS3eeORZJl06HXjwBG1fOGwCRnzK88LMdxKRrd6Q==" 212 "integrity": "sha512-Es6WcD0nO5l+2BOQS4uLfNPYQaNDfbot3X1XUoloz+x0mPDS3eeORZJl06HXjwBG1fOGwCRnzK88LMdxKRrd6Q=="
213 }, 213 },
214 "@openlayers/pepjs": {
215 "version": "0.5.3",
216 "resolved": "https://registry.npmjs.org/@openlayers/pepjs/-/pepjs-0.5.3.tgz",
217 "integrity": "sha512-Bgvi5c14BS0FJWyYWWFstNEnXsB30nK8Jt8hkAAdqr7E0gDdBBWVDglF3Ub19wTxvgJ/CVHyTY6VuCtnyRzglg=="
218 },
214 "@supermap/iclient-common": { 219 "@supermap/iclient-common": {
215 "version": "10.0.0", 220 "version": "10.0.0",
216 "resolved": "https://registry.npmjs.org/@supermap/iclient-common/-/iclient-common-10.0.0.tgz", 221 "resolved": "https://registry.npmjs.org/@supermap/iclient-common/-/iclient-common-10.0.0.tgz",
...@@ -6304,8 +6309,7 @@ ...@@ -6304,8 +6309,7 @@
6304 }, 6309 },
6305 "js-yaml": { 6310 "js-yaml": {
6306 "version": "3.7.0", 6311 "version": "3.7.0",
6307 "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.7.0.tgz", 6312 "resolved": "",
6308 "integrity": "sha1-XJZ93YN6m/3KXy3oQlOr6KHAO4A=",
6309 "dev": true, 6313 "dev": true,
6310 "requires": { 6314 "requires": {
6311 "argparse": "^1.0.7", 6315 "argparse": "^1.0.7",
...@@ -7422,6 +7426,17 @@ ...@@ -7422,6 +7426,17 @@
7422 "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", 7426 "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==",
7423 "dev": true 7427 "dev": true
7424 }, 7428 },
7429 "ol": {
7430 "version": "6.1.1",
7431 "resolved": "https://registry.npmjs.org/ol/-/ol-6.1.1.tgz",
7432 "integrity": "sha512-0dL3i3eJqgOpqIjDKEY3grkeQnjAYfV5L/JCxhOu4SxiaizRwFrFgeas6LILRoxKa03jhQFbut2r2bbgcLGQeA==",
7433 "requires": {
7434 "@openlayers/pepjs": "^0.5.3",
7435 "pbf": "3.2.1",
7436 "pixelworks": "1.1.0",
7437 "rbush": "^3.0.1"
7438 }
7439 },
7425 "omit.js": { 7440 "omit.js": {
7426 "version": "1.0.2", 7441 "version": "1.0.2",
7427 "resolved": "https://registry.npmjs.org/omit.js/-/omit.js-1.0.2.tgz", 7442 "resolved": "https://registry.npmjs.org/omit.js/-/omit.js-1.0.2.tgz",
...@@ -7793,6 +7808,11 @@ ...@@ -7793,6 +7808,11 @@
7793 "pinkie": "^2.0.0" 7808 "pinkie": "^2.0.0"
7794 } 7809 }
7795 }, 7810 },
7811 "pixelworks": {
7812 "version": "1.1.0",
7813 "resolved": "https://registry.npmjs.org/pixelworks/-/pixelworks-1.1.0.tgz",
7814 "integrity": "sha1-Hwla1I3Ki/ihyCWOAJIDGkTyLKU="
7815 },
7796 "pkg-dir": { 7816 "pkg-dir": {
7797 "version": "2.0.0", 7817 "version": "2.0.0",
7798 "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", 7818 "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz",
...@@ -10366,6 +10386,14 @@ ...@@ -10366,6 +10386,14 @@
10366 "unpipe": "1.0.0" 10386 "unpipe": "1.0.0"
10367 } 10387 }
10368 }, 10388 },
10389 "rbush": {
10390 "version": "3.0.1",
10391 "resolved": "https://registry.npmjs.org/rbush/-/rbush-3.0.1.tgz",
10392 "integrity": "sha512-XRaVO0YecOpEuIvbhbpTrZgoiI6xBlz6hnlr6EHhd+0x9ase6EmeN+hdwwUaJvLcsFFQ8iWVF1GAK1yB0BWi0w==",
10393 "requires": {
10394 "quickselect": "^2.0.0"
10395 }
10396 },
10369 "read-cache": { 10397 "read-cache": {
10370 "version": "1.0.0", 10398 "version": "1.0.0",
10371 "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", 10399 "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz",
......
...@@ -18,6 +18,7 @@ ...@@ -18,6 +18,7 @@
18 "jquery": "^3.4.1", 18 "jquery": "^3.4.1",
19 "mapbox-gl": "^1.6.0", 19 "mapbox-gl": "^1.6.0",
20 "mapbox-gl-compare": "^0.3.0", 20 "mapbox-gl-compare": "^0.3.0",
21 "ol": "^6.1.1",
21 "vue": "^2.5.2", 22 "vue": "^2.5.2",
22 "vue-router": "^3.0.1" 23 "vue-router": "^3.0.1"
23 }, 24 },
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
2 * @Author: jiangbotao 2 * @Author: jiangbotao
3 * @Date: 2019-12-13 23:53:57 3 * @Date: 2019-12-13 23:53:57
4 * @LastEditors: jiangbotao 4 * @LastEditors: jiangbotao
5 * @LastEditTime: 2019-12-16 12:57:27 5 * @LastEditTime: 2019-12-17 19:54:02
6 * @FilePath: \supermapvue\src\components\menu\MyMenu.vue 6 * @FilePath: \supermapvue\src\components\menu\MyMenu.vue
7 --> 7 -->
8 <template> 8 <template>
...@@ -47,6 +47,10 @@ ...@@ -47,6 +47,10 @@
47 <a-menu-item key="5_3"><router-link :to="'/theme_range'">分段渲染</router-link></a-menu-item> 47 <a-menu-item key="5_3"><router-link :to="'/theme_range'">分段渲染</router-link></a-menu-item>
48 <a-menu-item key="5_4"><router-link :to="'/theme_label'">注记图</router-link></a-menu-item> 48 <a-menu-item key="5_4"><router-link :to="'/theme_label'">注记图</router-link></a-menu-item>
49 </a-sub-menu> 49 </a-sub-menu>
50 <a-sub-menu key="sub6">
51 <span slot="title"><a-icon type="up-square" /><span>OpenLayers</span></span>
52 <a-menu-item key="6_1"><router-link :to="'/map_ol'">OL</router-link></a-menu-item>
53 </a-sub-menu>
50 </a-menu> 54 </a-menu>
51 </template> 55 </template>
52 <style scoped> 56 <style scoped>
......
1 <!--
2 * @Author: jiangbotao
3 * @Date: 2019-12-17 19:48:20
4 * @LastEditors: jiangbotao
5 * @LastEditTime: 2019-12-17 20:36:29
6 * @FilePath: \supermapvue\src\components\ol\OL.vue
7 -->
8 <template>
9 <div >
10 <div id="map"></div>
11 </div>
12 </template>
13
14 <script>
15 import "ol/ol.css";
16 import { Map, View } from "ol";
17 import { XYZ } from 'ol/source';
18 import VectorSource from "ol/source/Vector";
19 import Point from "ol/geom/Point";
20 import {Draw, Modify, Snap} from 'ol/interaction';
21 import { Tile as TileLayer, Vector as VectorLayer } from "ol/layer";
22 import {Circle as CircleStyle, Fill, Stroke, Style} from 'ol/style';
23
24 export default {
25 data() {
26 return {
27 map: null
28 };
29 },
30 mounted() {
31 var tdt_vec = new TileLayer({
32 source: new XYZ({
33 url: "http://t3.tianditu.com/DataServer?T=vec_w&x={x}&y={y}&l={z}&tk=394404c8b901574fdc4cdf8c18a98448"
34 })
35 });
36 var tdt_cva = new TileLayer({
37 source: new XYZ({
38 url: "http://t3.tianditu.com/DataServer?T=cva_w&x={x}&y={y}&l={z}&tk=394404c8b901574fdc4cdf8c18a98448"
39 })
40 });
41 // 矢量绘制图层
42 var source = new VectorSource();
43 var vectorLayer = new VectorLayer({
44 source: source,
45 style: new Style({
46 fill: new Fill({
47 color: 'rgba(255, 0, 0, 0.2)'
48 }),
49 stroke: new Stroke({
50 color: '#ffcc33',
51 width: 2
52 }),
53 image: new CircleStyle({
54 radius: 7,
55 fill: new Fill({
56 color: '#ffcc33'
57 })
58 })
59 })
60 });
61 this.map = new Map({
62 target: "map",
63 layers: [
64 tdt_vec, tdt_cva, vectorLayer
65 ],
66 view: new View({
67 projection: "EPSG:4326",
68 center: [120.79, 27.99],
69 zoom: 12,
70 minZoom: 10,
71 maxZoom: 18
72 })
73 });
74
75 var modify = new Modify({source: source});
76 this.map.addInteraction(modify);
77 modify.on('modifyend',function(e){
78 var features = e.features.getArray();
79 console.log(features);
80 });
81
82 var draw, snap; // global so we can remove them later
83 function addInteractions(map) {
84 draw = new Draw({
85 source: source,
86 type: 'Point'
87 });
88 draw.on('drawstart', function (e) {
89 source.clear(); // implicit remove of last feature.
90 });
91 draw.on('drawend', function(evt){
92 var feature = evt.feature;
93 var p = feature.getGeometry();
94 console.log(p.getCoordinates());
95 var coord = p.getCoordinates();
96 map.getView().animate({center: [coord[0], coord[1]]});
97 });
98 map.addInteraction(draw);
99 snap = new Snap({source: source});
100 map.addInteraction(snap);
101 }
102
103 /**
104 * Handle change event.
105 */
106 // typeSelect.onchange = function(map) {
107 // map.removeInteraction(draw);
108 // map.removeInteraction(snap);
109 // addInteractions();
110 // };
111
112 addInteractions(this.map);
113 }
114 };
115 </script>
116
117 <!-- Add "scoped" attribute to limit CSS to this component only -->
118 <style scoped>
119 #map {
120 position: absolute;
121 height: 100%;
122 width: 100%;
123 background-color: white
124 }
125 </style>
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
2 * @Author: jiangbotao 2 * @Author: jiangbotao
3 * @Date: 2019-12-12 17:40:15 3 * @Date: 2019-12-12 17:40:15
4 * @LastEditors: jiangbotao 4 * @LastEditors: jiangbotao
5 * @LastEditTime: 2019-12-17 00:26:31 5 * @LastEditTime: 2019-12-17 20:35:13
6 * @FilePath: \supermapvue\src\main.js 6 * @FilePath: \supermapvue\src\main.js
7 */ 7 */
8 import Vue from 'vue' 8 import Vue from 'vue'
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
2 * @Author: jiangbotao 2 * @Author: jiangbotao
3 * @Date: 2019-12-12 17:40:15 3 * @Date: 2019-12-12 17:40:15
4 * @LastEditors: jiangbotao 4 * @LastEditors: jiangbotao
5 * @LastEditTime: 2019-12-15 18:08:19 5 * @LastEditTime: 2019-12-17 20:37:03
6 * @FilePath: \supermapvue\src\router\index.js 6 * @FilePath: \supermapvue\src\router\index.js
7 */ 7 */
8 import Vue from 'vue' 8 import Vue from 'vue'
...@@ -116,6 +116,11 @@ export default new Router({ ...@@ -116,6 +116,11 @@ export default new Router({
116 path: '/mvt_wzdemo', 116 path: '/mvt_wzdemo',
117 name: 'Theme_wzdemo', 117 name: 'Theme_wzdemo',
118 component: () => import('@/components/vt/Map_wzdemo') 118 component: () => import('@/components/vt/Map_wzdemo')
119 },
120 {
121 path: '/map_ol',
122 name: 'Map_OL',
123 component: () => import('@/components/ol/OL')
119 } 124 }
120 ] 125 ]
121 }) 126 })
......