成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

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

使用vue引入maptalks地圖及聚合效果的實現

瀏覽:199日期:2022-12-11 14:41:55

1、安裝maptalks.js

npm install maptalks --save

2、安裝聚合mapkercluster

npm install maptalks.markercluster

3、vue頁面引入

import * as maptalks from ’maptalks’

import {ClusterLayer} from ’maptalks.markercluster’

4、初始化地圖并添加聚合

mounted() { let that = this //--0--//地圖對象的初始化 this.map = new maptalks.Map(’map’, { center: [109.1748453547,21.4586700546], //中心點標記紅十字,用于開發debug centerCross : false, zoom: 13, minZoom : 10, maxZoom : 18, //縮放級別控件 zoomControl : false, // add zoom control scaleControl : true, // add scale control //鷹眼控件 overviewControl : true, // add overview control //設置瓦片圖層的空間參考spatialReference默認就是3857,googlemap的分辨率 spatialReference : { projection : ’EPSG:3857’ //與map一樣,支持更詳細的設置resolutions,fullExtent等 }, baseLayer: new maptalks.TileLayer(’base’, { // urlTemplate: ’http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png’, //renderer : ’canvas’, // set TileLayer’s renderer to canvas //底圖服務器地址,如下為瓦片地址 urlTemplate: ’http://xxx.xx.xxx.xxx:xxxx/mapdata/tiles/{z}/{x}/{y}.png’, //tileSystem 控制瓦片的x,y以及行列,后兩個是origin原點位置(很重要) tileSystem : [1, 1, -20037508.3427890,-20037508.3427890], // tile system //subdomains: [’a’,’b’,’c’], minZoom : 10, maxZoom : 18 // css filter 濾鏡配置 // cssFilter : ’sepia(60%) invert(95%)’, // attribution: ’© <a rel='external nofollow' target='_blank'>Maptalk for Amap</a> contributors’ }), layers : [ new maptalks.VectorLayer(’v’) ], attribution: {//左下角info content: ’©qmap’ } }) // 拖動范圍限制,黑框控 let extent = new maptalks.Extent(108.8584570000,20.9790840000,110.0569128018,22.1177123207) // var extent = new maptalks.Extent(112.5381688894,26.8876543885,112.5605009244,26.9012691519); // set map’s max extent to map’s extent at zoom 14 this.map.setMaxExtent(extent) this.map.setZoom(this.map.getZoom(), { animation : false }) this.map.getLayer(’v’) .addGeometry( new maptalks.Polygon(extent.toArray(), { symbol : { ’polygonOpacity’: 0, ’lineWidth’: 0 } }) ) // 往地圖上添加點位 this.markInfo()}, methods: { setCenter: function(center) { //標注點平移到某個點 let centerV = maptalks1.CRSTransform.transform(center, ’bd09ll’, ’gcj02’) this.map.animateTo({ zoom: 17, center: centerV }, { duration: 1000 }) }, // 上圖 markInfo: function () { let that = this that.map.removeLayer(that.clusterLayer) let markers = [] //--2--//前端聚合查詢 // data from realworld.50000.1.js //需要引入maptalks.markercluster.js //數據格式[lon,lat,name] // 如:[[21.8129763667, 109.2714296333, '曉港名城4號樓'],[21.8131727667, 109.2710308833, '曉港名城6號樓']] for (let i = 0; i < that.addressPoints.length; i++) { let a = that.addressPoints[i] markers.push(new maptalks.Marker(maptalks1.CRSTransform.transform([a.latitude, a.longitude], ’bd09ll’, ’gcj02’), { ’properties’: { ’name’: a.name, ’onSale’: a.onSale }, symbol : [ { ’markerFile’ : a.onSale ? require(’../../../static/img/on.png’) : require(’../../../static/img/off.png’),//標注點圖標 ’markerWidth’ : 30, ’markerHeight’ : 35 },{ ’textName’ : ’{name}’, ’textSize’ : 12, ’textDy’ : -50, ’textHaloRadius’ : 5, ’textHaloFill’ : a.onSale ? ’#FFB427’ : ’#B9B9B9’, ’textFill’ : ’#fff’ // color } ] } ))//.on(’mousedown’, onClick)) } let clusterLayer = new ClusterLayer(’cluster’, markers, { ’noClusterWithOneMarker’ : true, ’noClusterWithHowMany’: 8,//聚合的最小個數 ’maxClusterZoom’ : 15, //'count' is an internal variable: marker count in the cluster. ’symbol’: { ’markerType’ : ’ellipse’, ’markerFill’ : { property:’count’, type:’interval’, stops: [[0, ’rgb(135, 196, 240)’], [9, ’#1bbc9b’],[50, ’rgb(116, 115, 149)’], [99, ’rgb(216, 115, 149)’]]}, ’markerFillOpacity’ : 0.7, ’markerLineOpacity’ : 1, ’markerLineWidth’ : 3, ’markerLineColor’ : ’#fff’, ’markerWidth’ : { property:’count’, type:’interval’, stops: [[0, 40], [9, 60], [50, 70],[99, 80]] }, ’markerHeight’ : { property:’count’, type:’interval’, stops: [[0, 40], [9, 60], [50, 70],[99, 80]] } }, ’drawClusterText’: true, ’geometryEvents’ : true, ’single’: true }) that.map.addLayer(clusterLayer) that.clusterLayer = clusterLayer function onClick(e) { e.target.setInfoWindow({ ’content’: ’<div class='content-’ + e.target.properties.onSale + ’'>’ + e.target.properties.name + ’</div>’, ’width’ : 150, ’dy’ : 5, ’autoPan’: true, ’custom’: false, ’autoOpenOn’ : ’click’, //set to null if not to open when clicking on marker ’autoCloseOn’ : ’click’ }) } }}

補充知識:vue集成maptalk實現geojson3D渲染

我就廢話不多說了,大家還是直接看代碼吧~

//實例化地圖對象 let map = new maptalks.Map('map',{ center: [13.416935229170008, 52.529564137540376], zoom: 20, dragPitch : true, //allow map to drag rotating, true by default dragRotate : true, //enable map to drag pitching and rotating at the same time, false by default dragRotatePitch : true, baseLayer: new maptalks.TileLayer(’base’, { urlTemplate: ’https://{s}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}.png’, subdomains: [’a’,’b’,’c’,’d’], attribution: ’&copy; <a rel='external nofollow' >OpenStreetMap</a> contributors, &copy; <a rel='external nofollow' >CARTO</a>’ }) });// features to draw//將Buildings中的數據,添加到features中 let features = []; buildings.forEach(function (b) { console.log(b.features); features = features.concat(b.features); });// the ThreeLayer to draw buildings let threeLayer = new ThreeLayer(’t’, { forceRenderOnMoving : true, forceRenderOnRotating : true }); threeLayer.prepareToDraw = function (gl, scene, camera) { let me = this; let light = new THREE.DirectionalLight(0xffffff); light.position.set(0, -10, 10).normalize(); scene.add(light); features.forEach(function (g) { let heightPerLevel = 5; let levels = g.properties.levels || 1; let color = 0x2685a7 let m = new THREE.MeshPhongMaterial({color: color, opacity : 0.7}); //change to back side with THREE <= v0.94 // m.side = THREE.BackSide; let mesh = me.toExtrudeMesh(maptalks.GeoJSON.toGeometry(g), heightPerLevel, m, heightPerLevel); if (Array.isArray(mesh)) { scene.add.apply(scene, mesh); } else { scene.add(mesh); } }); }; threeLayer.addTo(map);

以上這篇使用vue引入maptalks地圖及聚合效果的實現就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Vue
相關文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
欧美日韩综合一区| 美女久久一区| 一区二区三区国产盗摄| 日韩欧美国产电影| 日韩国产精品久久久久久亚洲| 国产综合网站| 久久新电视剧免费观看| 极品少妇xxxx精品少妇| 亚洲一区在线免费| 国产精品不卡一区二区三区| 91免费版pro下载短视频| 欧美日韩黄视频| 亚洲成a人在线观看| 激情丁香综合| 欧美国产精品v| av亚洲精华国产精华精| 91麻豆精品国产无毒不卡在线观看| 亚洲成人午夜影院| 亚洲人人精品| 中文字幕色av一区二区三区| 91蜜桃婷婷狠狠久久综合9色| 日韩欧美成人午夜| 国产一区不卡在线| 欧美精品一卡两卡| 美国十次综合导航| 欧美亚洲动漫制服丝袜| 午夜精品在线视频一区| 国产伦理一区| 一级特黄大欧美久久久| 99热这里只有精品8| 欧美激情一区二区三区不卡| 国产白丝精品91爽爽久久 | 大尺度一区二区| 在线综合视频播放| 国产精品系列在线播放| 欧美日韩性生活| 麻豆成人91精品二区三区| 色视频欧美一区二区三区| 夜夜揉揉日日人人青青一国产精品| 亚洲韩日在线| 亚洲视频一区在线| 99亚洲伊人久久精品影院红桃| 亚洲丝袜另类动漫二区| 亚洲人久久久| 亚洲国产一区二区三区| 中文国产一区| 亚洲国产精品久久久久婷婷884 | 欧美丰满高潮xxxx喷水动漫| 国产一区二区三区四| 欧美一区二区三区播放老司机| 久久av资源网| 欧美理论在线播放| 国产剧情一区二区三区| 日韩精品一区国产麻豆| 91蝌蚪国产九色| 国产精品午夜春色av| 国产成人av资源| 欧美大片拔萝卜| 成人a免费在线看| 久久久不卡网国产精品二区| 欧美成人免费在线| 中文字幕在线观看不卡| 亚洲一区黄色| 奇米在线7777在线精品| 欧洲中文字幕精品| 国产美女av一区二区三区| 日韩欧美不卡在线观看视频| 91蝌蚪porny九色| 亚洲人xxxx| 久久一区激情| 激情久久五月天| 精品卡一卡二卡三卡四在线| 欧美人与禽猛交乱配视频| 国产精品视频线看| 亚洲啪啪91| 日韩黄色小视频| 91麻豆精品国产91久久久| 亚洲欧美综合| 亚洲一线二线三线久久久| 在线观看www91| 99精品1区2区| 亚洲欧美色图小说| 久久久久久国产精品一区| 国产一区二区三区免费在线观看 | 亚洲综合男人的天堂| 欧美在线观看一区| 99riav久久精品riav| 亚洲欧洲99久久| 一本久久a久久免费精品不卡| 国产一区高清在线| 久久免费午夜影院| 亚洲尤物精选| 国产麻豆精品theporn| 国产精品久久毛片| 久久午夜精品一区二区| 懂色av中文一区二区三区| 中文天堂在线一区| 久久综合久久综合这里只有精品| 久99久精品视频免费观看| 久久久久久麻豆| 国产精品推荐精品| 国产成人免费视频| 国产精品剧情在线亚洲| 日本电影欧美片| 97久久久精品综合88久久| 亚洲一区二区av电影| 欧美日韩久久一区| 国产精品豆花视频| 免费精品视频在线| 欧美国产在线观看| 91福利视频久久久久| 欧美freesex交免费视频| 日韩 欧美一区二区三区| 久久亚洲精品国产精品紫薇| 国产精品久久久久久模特| 国产精品一区在线观看乱码| 一区在线播放视频| 在线免费观看一区| 国产精品va| 理论电影国产精品| 亚洲色图在线看| 这里只有精品视频在线观看| 亚洲毛片视频| 国产成人8x视频一区二区| 一区二区三区中文免费| 欧美一级在线免费| 亚洲综合日韩| 成人一道本在线| 亚洲一区二区在线视频| 日韩欧美一二三四区| 国产精品视频| 不卡高清视频专区| 亚洲国产中文字幕| 国产亚洲欧美日韩俺去了| 在线观看成人免费视频| 亚洲国产精品综合| 国产a精品视频| 香蕉av福利精品导航| 欧美国产成人精品| 欧美日本在线视频| 国产亚洲永久域名| 午夜欧美精品| 成人午夜视频网站| 老司机免费视频一区二区| 夜夜精品浪潮av一区二区三区| 亚洲精品一区二区精华| 69堂国产成人免费视频| 久久另类ts人妖一区二区| 精品96久久久久久中文字幕无| 99久久99久久免费精品蜜臀| 国产精品亚洲视频| 日韩高清在线观看| 亚洲成人黄色小说| 一区二区在线看| 成人免费在线观看入口| 国产欧美视频在线观看| 日韩女优毛片在线| 538prom精品视频线放| 欧美色网站导航| 日本韩国欧美三级| 色呦呦一区二区三区| 午夜一区不卡| 亚洲伦伦在线| 精品白丝av| 牛夜精品久久久久久久99黑人 | 国产精品成人观看视频免费| 国内精品免费在线观看| 午夜国产精品影院在线观看| 亚洲欧洲日韩综合一区二区| 911精品产国品一二三产区| 亚洲欧美国产不卡| 一本久道久久综合狠狠爱| 欧美aⅴ99久久黑人专区| 国产精品资源网站| 天堂久久久久va久久久久| 亚洲自拍偷拍九九九| 亚洲国产精品精华液ab| 91精品国产欧美一区二区| 久久高清免费观看| 久久不射中文字幕| 中文久久精品| 欧美婷婷久久| 不卡在线观看av| 成人精品国产福利| 国产一区二区美女诱惑| 日韩高清一区二区| 一区二区三区中文字幕在线观看| 日韩免费看的电影| 久久亚洲二区三区| 日韩你懂的在线观看| 欧美自拍丝袜亚洲| 久久精品免费| 久久狠狠久久综合桃花| 久久久水蜜桃| 可以看av的网站久久看| 色婷婷亚洲婷婷| 欧美日韩午夜精品| 欧美日韩国产bt| 欧美一区二区三区在线电影 | 欧美老年两性高潮|