前言 在上一篇博客中,详细讲述了在LeafLet.js中集成VectorGrid插件进行矢量瓦片渲染的案例,原文连接基于VectorGrid加载GeoServer发布的矢量瓦片实例,感兴趣的朋友可以直接点击链接进行查阅之前的博文 一、VectorGrid相关API介绍 要想使用VectorGrid进行矢量瓦片的渲染,样式必不可少。 1、VectorGrid A VectorGrid is a generic, abstract class for displaying tiled vector data. it provides v=1.0.0"></script><script src="https://unpkg.com/leaflet.<em>vectorgrid</em>@latest/dist/Leaflet.<em>VectorGrid</em>.bundled.js "></script> <script src="https://unpkg.com/leaflet.<em>vectorgrid</em>@latest/dist/Leaflet.<em>VectorGrid</em>.js"><
这里简单介绍VectorGrid插件,以及其它可以选择的矢量瓦片展示插件。·在Leaflet的官方网站上可以看到以下的介绍瓦片的介绍,其中有一个是关于Vector Tiles的介绍。 打开效果如下:二、与LeafLet集成1、新建html页面 在文件夹中创建index_vectorgrid.html网页,示例代码如下:<! v=1.0.0"></script><script src="https://unpkg.com/leaflet.<em>vectorgrid</em>@latest/dist/Leaflet.<em>VectorGrid</em>.bundled.js "></script> <script src="https://unpkg.com/leaflet.<em>vectorgrid</em>@latest/dist/Leaflet.<em>VectorGrid</em>.js">< (pbfUrl, vectorTileOptions).addTo(mymap)到此,在Leaflet中将VectorGrid进行集成展示的例子就完成了。
前言 在前面的博文介绍中,在线连接如下:浅谈前端自定义VectorGrid矢量瓦片样式,基于VectorGrid加载GeoServer发布的矢量瓦片实例,这里介绍了在Leaflet中加载矢量瓦片 在此背景下,我们尝试使用将矢量瓦片直接瓦片化,然后再使用VectorGrid进行展示,但是发现,使用自己切好的矢量瓦片的加载方式跟GeoServer发布的矢量瓦片,加载出来的效果不一致,Y轴出现了偏移。 本文将重点讲解,如何使用VectorGrid加载自己切好的矢量瓦片,同时解决其出现的Y轴偏转的问题,如果您在项目开发过程中也出现这个问题,可以从这篇博客中找到解决办法。 二、VectorGrid加载本地瓦片1、加载关键代码 关于如何在VectorGrid中加载本地矢量瓦片,在之前的博文中有一定叙述,这里将关键代码贴一下:var vectorTileOptions 这里我们先来看一下VectorGrid中,对于y轴参数控制的说明,源文件:Leaflet.VectorGrid.Protobuf.js打开之后,我们找到Y轴控制的方法:_getVectorTilePromise_getVectorTilePromise
前言 在之前的博客中,对于在Leaflet中加载使用Leaflet.VectorGrid来实现矢量瓦片的渲染,曾经写了几篇博客。感兴趣的博客可以在以下的连接中进行参阅。 序号博客地址1解决基于VectorGrid的矢量瓦片Y轴偏移的问题2浅谈前端自定义VectorGrid矢量瓦片样式3基于VectorGrid加载GeoServer发布的矢量瓦片实例 以上的博客中关于如何使用 VectorGrid来进行矢量瓦片的渲染进行了详细的说明,但是上述矢量瓦片的数据类型均是面和线数据居多,没有对点数据进行渲染展示。 二、矢量瓦片渲染 在之前的博客中已经介绍了Leaflet.VectorGrid的渲染方式,这里不在赘述,将主要的代码贴出来。 也许这些实例应该有一个平台,我不知道,这只是一个简单的修复,这样我就可以继续使用vectorgrid protobuf对点的支持,并让鼠标悬停和点击事件正常工作。
综合分析之后我选用了Leaflet.VectorGrid插件进行矢量瓦片的渲染,Github地址https://github.com/IvanSanchez/Leaflet.VectorGrid。 2.1 添加插件 除了正常的Leftlet所需的js以及css文件外(具体请自行搜索),还需添加一下语句引入vectorgrid的js文件。 <script src="https://unpkg.com/leaflet.<em>vectorgrid</em>@1.2.0"></script> 当然你可以直接将此文件下载到本地引入。 vectorTileLayerStyles: osm_poi_style, subdomains: '0123', interactive: true, // Make sure that this VectorGrid mouse/pointer events key: '5iCgspbpUIw5lEYGLbGj', maxZoom: 16 }; var openmaptilesPbfLayer = L.vectorGrid.protobuf