日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

使用vue引入maptalks地圖及聚合效果的實(shí)現(xiàn)

瀏覽:251日期: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], //中心點(diǎn)標(biāo)記紅十字,用于開發(fā)debug centerCross : false, zoom: 13, minZoom : 10, maxZoom : 18, //縮放級別控件 zoomControl : false, // add zoom control scaleControl : true, // add scale control //鷹眼控件 overviewControl : true, // add overview control //設(shè)置瓦片圖層的空間參考spatialReference默認(rèn)就是3857,googlemap的分辨率 spatialReference : { projection : ’EPSG:3857’ //與map一樣,支持更詳細(xì)的設(shè)置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 //底圖服務(wù)器地址,如下為瓦片地址 urlTemplate: ’http://xxx.xx.xxx.xxx:xxxx/mapdata/tiles/{z}/{x}/{y}.png’, //tileSystem 控制瓦片的x,y以及行列,后兩個是origin原點(diǎn)位置(很重要) 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 } }) ) // 往地圖上添加點(diǎn)位 this.markInfo()}, methods: { setCenter: function(center) { //標(biāo)注點(diǎn)平移到某個點(diǎn) 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 //數(shù)據(jù)格式[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’),//標(biāo)注點(diǎn)圖標(biāo) ’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,//聚合的最小個數(shù) ’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’ }) } }}

補(bǔ)充知識:vue集成maptalk實(shí)現(xiàn)geojson3D渲染

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

//實(shí)例化地圖對象 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中的數(shù)據(jù),添加到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地圖及聚合效果的實(shí)現(xiàn)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Vue
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
久久精品高清| 亚洲精品欧美| 在线综合欧美| 国产精品一国产精品| 日韩一级欧洲| 在线综合亚洲| 欧美在线亚洲| 亚洲激情二区| 亚洲一区亚洲| 黑丝一区二区| 亚洲福利免费| 99视频精品免费观看| 国产精品毛片| 日韩午夜视频在线| 亚洲+小说+欧美+激情+另类| 日本成人在线网站| 国产日韩中文在线中文字幕| 日本午夜免费一区二区 | 国产精品久久久久久久久久妞妞 | 99国产成+人+综合+亚洲欧美| 青草久久视频| 日本成人中文字幕| 国产精品不卡| 神马久久午夜| 首页国产精品| 日韩国产网站| 久久xxxx精品视频| 美女精品在线| 免费精品一区| 精品网站999| 国产精品腿扒开做爽爽爽挤奶网站| 亚洲福利国产| 伊人久久亚洲美女图片| 亚洲欧美久久久| 欧美在线看片| 亚洲午夜91| 亚久久调教视频| а√天堂8资源在线| 麻豆亚洲精品| 国产suv精品一区二区四区视频| 欧美精品一二| 成人一区而且| 日韩区欧美区| 亚洲视频综合| 日本午夜精品久久久久| 日韩成人三级| 国产精品一区高清| 中文一区一区三区免费在线观 | 久久av导航| 日韩专区欧美专区| 成人久久一区| 久久久久伊人| 激情综合自拍| 欧美男人天堂| 久久久国产精品入口麻豆| 日韩影院免费视频| 99久久久久国产精品| 国产精品黑丝在线播放| 免费日韩成人| 国产精品nxnn| 久久精品国产福利| 久久中文字幕一区二区三区| 91伊人久久| 国产麻豆精品| 精品国产精品国产偷麻豆| 青草久久视频| 久久精品三级| 国产精品一区二区精品视频观看| 日韩免费精品| 国产精品三级| 精品视频久久| 91欧美国产| 精品一区二区三区的国产在线观看| 亚洲免费播放| 综合一区在线| 国产模特精品视频久久久久| 久久国产三级精品| 精品视频一区二区三区四区五区 | 欧美国产日本| 欧美日韩一视频区二区| 日韩专区在线视频| 久久av在线| 久久亚洲影院| 久久国产福利| 三级欧美在线一区| 久久xxxx| 国产视频一区免费看| 日韩在线卡一卡二| 热久久久久久久| 人人爽香蕉精品| 日本不卡视频在线观看| 日本不卡视频在线| 日韩av黄色在线| 欧美日韩一区二区三区四区在线观看| 水野朝阳av一区二区三区| 一二三区精品| 久久国产精品免费一区二区三区| 日本午夜精品视频在线观看| 国产精品亚洲四区在线观看| 成人综合一区| 日韩午夜av| 国产美女亚洲精品7777| 国产成人精品亚洲线观看| 欧美freesex黑人又粗又大| 日韩欧美高清一区二区三区| 麻豆成人91精品二区三区| 精品美女视频| 亚洲国产一区二区在线观看| 久久国产高清| 中文字幕免费精品| 国产精品1区在线| 最新国产精品视频| 日韩另类视频| 99久久99久久精品国产片果冰| 福利精品一区| 日韩一区二区久久| 日韩成人精品一区| 天堂中文av在线资源库| 日韩av二区| 涩涩涩久久久成人精品| 精品国产18久久久久久二百| 好吊视频一区二区三区四区| 7777精品| 成人黄色av| 亚洲主播在线| 欧美黄色网页| 亚洲午夜一级| 亚洲精品电影| 久久久久午夜电影| 国产欧美一区二区三区精品观看 | 欧美日韩 国产精品| 亚洲国产欧美日本视频| 中文在线一区| 国产精品一区二区中文字幕| 久久精品国产99久久| 欧美欧美黄在线二区| 国产视频一区在线观看一区免费| 久久99久久久精品欧美| 蜜臀精品一区二区三区在线观看| 国产精选在线| 你懂的国产精品| 欧美日韩亚洲一区在线观看| 日韩国产一区二| 性欧美长视频| 午夜日韩福利| 日韩亚洲在线| 香蕉成人久久| 免费观看在线综合| 久久一区精品| 国产精品成人3p一区二区三区| 精品黄色一级片| 日本精品国产| 97se亚洲| 免费一区二区三区在线视频| 黑人精品一区| 亚洲精品福利电影| а√天堂中文在线资源8| 麻豆精品蜜桃视频网站| 美女久久99| www.com.cn成人| 欧美大黑bbbbbbbbb在线| 久久精品国产68国产精品亚洲| 亚洲午夜国产成人| 亚洲成人一区| 日本欧洲一区二区| 亚洲丝袜美腿一区| 日韩和欧美的一区| 精品国产亚洲一区二区三区在线| 里番精品3d一二三区| 亚洲啊v在线| 成人看片网站| 欧美日韩91| 97精品在线| 亚洲一区黄色| 国产精品a久久久久| 国产精品一区二区免费福利视频| 国产精品一区高清| 日日夜夜免费精品| 日韩av黄色在线| av资源新版天堂在线| 精精国产xxxx视频在线野外| 国产欧美日韩在线一区二区| 久久久久午夜电影| 久久精品 人人爱| 久久久久久久久丰满| 美女视频黄久久| 亚洲综合日韩| 99久久www免费| 中文字幕人成乱码在线观看| 亚洲欧美网站在线观看| 99视频精品视频高清免费| 日本精品在线播放| 久久精品动漫| 亚洲日本久久| 国产日韩亚洲欧美精品| 蜜桃久久久久久| 日韩一二三区在线观看| 蜜桃一区二区三区在线| 欧美理论视频| 日韩精品2区|