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

全新升级网站如何做网站百科

全新升级网站,如何做网站百科,wordpress免费汉化主题,开发公司计算实际成本含土地费的税金吗矢量切片(vector tile)是当前 WebGIS 较热技术#xff0c;国内的高德、百度等在线地图都使用了矢量切片技术。相较于传统栅格切片#xff0c;矢量切片好处很多。简单几点就是#xff1a;轻量、客户端渲染、还可加密(栅格切片容易被爬取)。矢量切片格式一般有 GeoJSON、TopoJ…矢量切片(vector tile)是当前 WebGIS 较热技术国内的高德、百度等在线地图都使用了矢量切片技术。相较于传统栅格切片矢量切片好处很多。简单几点就是轻量、客户端渲染、还可加密(栅格切片容易被爬取)。矢量切片格式一般有 GeoJSON、TopoJSON 、MVT (MapBox Vector Tile)、PBF。下面是 Cesium 加载 MVT 矢量切片的代码由于样式渲染使用的了 openlayers所以首先需要安装 openlayers。一、安装 openlayersnpm install openlayers二、MVT 加载核心代码javascript// mvtProvider.jsimport * as Cesium from cesiumimport ol from openlayers/dist/ol-debugexport function MVTProvider (options) {options Cesium.defaultValue(options, Cesium.defaultValue.EMPTY_OBJECT)this._tilingScheme Cesium.defined(options.tilingScheme) ? options.tilingScheme : new Cesium.WebMercatorTilingScheme({ ellipsoid: options.ellipsoid })this._tileWidth Cesium.defaultValue(options.tileWidth, 512)this._tileHeight Cesium.defaultValue(options.tileHeight, 512)this._readyPromise Cesium.when.resolve(true)this._ol olthis._mvtParser new this._ol.format.MVT()this._styleFun Cesium.defined(options.styleFun) ? options.styleFun : createMapboxStreetsV6Stylethis._key Cesium.defaultValue(options.key, )this._url Cesium.defaultValue(options.url, https://a.tiles.mapbox.com/v4/mapbox.mapbox-streets-v6/{z}/{x}/{y}.vector.pbf?access_token{k})var sw this._tilingScheme._rectangleSouthwestInMetersvar ne this._tilingScheme._rectangleNortheastInMetersvar mapExtent [sw.x, sw.y, ne.x, ne.y]this._resolutions ol.tilegrid.resolutionsFromExtent(mapExtent, 22, this._tileWidth)this._pixelRatio 1this._transform [0.125, 0, 0, 0.125, 0, 0]this._replays [Default, Image, Polygon, LineString, Text]this._tileQueue new Cesium.TileReplacementQueue()this._cacheSize 1000}Object.defineProperties(MVTProvider.prototype, {proxy: {get () {return undefined}},tileWidth: {get () {return this._tileWidth}},tileHeight: {get () {return this._tileHeight}},maximumLevel: {get () {return undefined}},minimumLevel: {get () {return undefined}},tilingScheme: {get () {return this._tilingScheme}},rectangle: {get () {return this._tilingScheme.rectangle}},tileDiscardPolicy: {get () {return undefined}},errorEvent: {get () {return this._errorEvent}},ready: {get () {return true}},readyPromise: {get () {return this._readyPromise}},credit: {get () {return undefined}},hasAlphaChannel: {get () {return true}}})MVTProvider.prototype.getTileCredits function () {return undefined}function findTileInQueue (x, y, level, tileQueue) {var item tileQueue.headwhile (item ! undefined !(item.xMvt x item.yMvt y item.zMvt level)) {item item.replacementNext}return item}function remove (tileReplacementQueue, item) {var previous item.replacementPreviousvar next item.replacementNextif (item tileReplacementQueue._lastBeforeStartOfFrame) {tileReplacementQueue._lastBeforeStartOfFrame next}if (item tileReplacementQueue.head) {tileReplacementQueue.head next} else {previous.replacementNext next}if (item tileReplacementQueue.tail) {tileReplacementQueue.tail previous} else {next.replacementPrevious previous}item.replacementPrevious undefineditem.replacementNext undefined--tileReplacementQueue.count}function trimTiles (tileQueue, maximumTiles) {var tileToTrim tileQueue.tailwhile (tileQueue.count maximumTiles Cesium.defined(tileToTrim)) {var previous tileToTrim.replacementPreviousremove(tileQueue, tileToTrim)tileToTrim nulltileToTrim previous}}MVTProvider.prototype.requestImage function (x, y, level) {var cacheTile findTileInQueue(x, y, level, this._tileQueue)if (cacheTile ! undefined) {return cacheTile}var that thisvar url this._urlurl url.replace({x}, x).replace({y}, y).replace({z}, level).replace({k}, this._key);(function (x, y, z) {var resource Cesium.Resource.createIfNeeded(url)return resource.fetchArrayBuffer().then((arrayBuffer) {var canvas document.createElement(canvas)canvas.width 512canvas.height 512var vectorContext canvas.getContext(2d)var features that._mvtParser.readFeatures(arrayBuffer)var styleFun that._styleFun()var extent [0, 0, 4096, 4096]var _replayGroup new ol.render.canvas.ReplayGroup(0, extent, 8, true, 100)for (var i 0; i features.length; i) {var feature features[i]var styles styleFun(features[i], that._resolutions[level])for (var j 0; j styles.length; j) {ol.renderer.vector.renderFeature_(_replayGroup, feature, styles[j], 16)}}_replayGroup.finish()_replayGroup.replay(vectorContext, that._pixelRatio, that._transform, 0, {}, that._replays, true)if (that._tileQueue.count that._cacheSize) {trimTiles(that._tileQueue, that._cacheSize / 2)}canvas.xMvt xcanvas.yMvt ycanvas.zMvt zthat._tileQueue.markTileRendered(canvas)_replayGroup nullreturn canvas}).otherwise(() {})}(x, y, level))}MVTProvider.prototype.pickFeatures function () {return undefined}function createMapboxStreetsV6Style () {var fill new ol.style.Fill({ color: })var stroke new ol.style.Stroke({ color: , width: 1 })var polygon new ol.style.Style({ fill })var strokedPolygon new ol.style.Style({ fill, stroke })var line new ol.style.Style({ stroke })var text new ol.style.Style({text: new ol.style.Text({text: , fill, stroke})})var iconCache {}function getIcon (iconName) {var icon iconCache[iconName]if (!icon) {icon new ol.style.Style({image: new ol.style.Icon({src: https://cdn.rawgit.com/mapbox/maki/master/icons/${iconName}-15.svg,imgSize: [15, 15]})})iconCache[iconName] icon}return icon}var styles []return function (feature, resolution) {var length 0var layer feature.get(layer)var cls feature.get(class)var type feature.get(type)var scalerank feature.get(scalerank)var labelrank feature.get(labelrank)var adminLevel feature.get(admin_level)var maritime feature.get(maritime)var disputed feature.get(disputed)var maki feature.get(maki)var geom feature.getGeometry().getType()if (layer landuse cls park) {fill.setColor(#d8e8c8)styles[length] polygon} else if (layer landuse cls cemetery) {fill.setColor(#e0e4dd)styles[length] polygon} else if (layer landuse cls hospital) {fill.setColor(#fde)styles[length] polygon} else if (layer landuse cls school) {fill.setColor(#f0e8f8)styles[length] polygon} else if (layer landuse cls wood) {fill.setColor(rgb(233,238,223))styles[length] polygon} else if (layer waterway cls ! river cls ! stream cls ! canal) {stroke.setColor(#a0c8f0)
http://www.zqtcl.cn/news/787779/

相关文章:

  • 爆破wordpress密码河北seo基础入门教程
  • 推广网站报价公司logo设计效果图
  • 西部数据网站管理助手做如美团式网站要多少钱
  • 云主机网站如何备份合肥网页设计就业
  • 视频网站视频预览怎么做西部数码助手网站后台管理
  • 有哪些网站建设工作室杭州房价
  • 广告去哪个网站做上海最大的外贸公司
  • 二手车网站开发过程专业的大连网站建设
  • 北京加盟网站建设宝石汇网站
  • 网站本地建设seo排名赚app多久了
  • 邢台手机网站建设信息超链接html代码
  • wordpress 代码模块昆明seo和网络推广
  • 匈牙利网站后缀沛县做网站xlec
  • 企业网站建设的成本国内做网站建设最好的公司是
  • 威海做企业网站云南建筑工程网
  • 旅游网站建设报价网站空间管理信息
  • app展示网站手机端app开发公司
  • 在湖南建设人力资源网站wordpress widget
  • 英文网站建站山东做网站用虚拟主机还是服务器
  • 网站设计佛山顺德投资公司注册条件和要求
  • 肇庆网站优化建设淄博网站建设优惠臻动传媒
  • 电子商务网站模板 html服装网站栏目调研
  • 抚州市做棋牌网站邯郸信息港聊天室
  • 李静做的化妆品网站树莓派lamp WordPress
  • 建站之星网站建设系统个人网站有什么外国广告做
  • 残联网站建设概况专业产品画册设计公司
  • 德尔普的网站建设的价格windows2008做网站
  • 画品展现手机网站短网址生成器有哪些
  • 如何做好网站推广营销网站 需求
  • 济宁做网站大约多少钱做设计兼职的网站有哪些