问题标签 [vector-tiles]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1228 浏览

ios - MKMapView 叠加矢量图块

有什么方法可以制作矢量瓷砖并MKMapView在 iOS 6 及更高版本中覆盖它们?我知道如何使用 覆盖图像MKOverlayView,但它们是光栅图像。

0 投票
3 回答
9763 浏览

javascript - 如何在传单中显示由 geojson-vt 生成的矢量图块?

我有很多 GeoJSON 空间数据要显示在传单地图上。大约 35,000 个 GeoJSON 对象。

因为点的数量会变得非常大,所以我想使用geojson-vt库在客户端平铺我的数据。

现在我已经使用 geojson-vt 库成功地平铺了我的数据:

如何将 geojson-vt 生成的矢量切片数据集成到我的 Leaflet 地图?

是否有任何推荐的插件或库可以提供帮助?

0 投票
1 回答
2223 浏览

leaflet - 找不到我的 Mapbox 样式地图的 Mapbox 矢量平铺 URL

有谁知道如何获取 Mapbox 矢量瓦片地图的 URL(又名“样式”)?我只能得到一个看起来像这样的样式地址:mapbox://styles/myusername/r3411y10ngh4sh3tc3tc,但我使用的插件需要一个 URL 来将 Mapbox 的矢量瓷砖与 Leaflet 集成:https ://github.com/SpatialServer/Leaflet.MapboxVectorTile/blob/master/docs /配置.md

我尝试用 Mapbox 提供的样式地址替换 URL

但我收到一个错误,它无法将样式地址作为 URL 读取。有什么建议么?我应该使用不同的插件吗?


更新

简而言之,Mapbox 样式的 URL 尚不可用。这是我从 Mapbox 收到的回复:

Leaflet 尚不兼容 Mapbox Studio 中制作的样式,因为这些样式需要基于 GL 的渲染器。我们目前正在开发一个新的 API,以允许您将 Studio 风格与 Leaflet 一起使用,我们预计它将在几周内推出。

此时,您可以使用 Mapbox GL JS 加载您的 Mapbox Studio 样式。您仍然可以访问栅格地图 ID(使用 Mapbox 编辑器、Mapbox Studio Classic 制作的地图)以使用 Leaflet 加载 - 这些位于 Studio 仪表板的“经典”选项卡下。

0 投票
0 回答
1784 浏览

node.js - Rendering Vector Tiles Mapbox GL

I want to use Mapbox GL to render vector tiles that I am generating from PostGIS requests. I have built a tile server using Mapnik, sphericalmecator, and pg plugins for npm. I added the tile endpoint to the stylesheet for Mapbox GL, and have confirmed that the correct tiles are requested, but the tiles are not rendered on the map. I used the same backend for a leaflet plugin and it works correctly, so I'm not sure I have to change the backend. Any advice is appreciated. Code is below.

This is the index.html file that I am loading.

This is the routes that the map is calling.

Please ask any other questions you might have.

0 投票
1 回答
295 浏览

leaflet - 矢量瓦片和文本路径

我正在使用 TileStache 渲染矢量切片图层,在 OpenLayers 3 中运行良好。

http://standup.csc.kth.se/maps/projects.html

但是,我想在道路上添加“文本路径”(例如显示预期完成的年份)。我找不到任何在 OpenLayers 3 中执行文本路径的方法。我只为 OpenLayers2 找到了一种方法......

我为此目的查看了 Leaflet,但是......它不适用于矢量图块,除了似乎不允许与 Leaflet textpath 插件组合的插件......

有没有用矢量图块做文本路径的解决方案?

0 投票
1 回答
390 浏览

encryption - 如何加密矢量图块 JSON 响应

我正在使用 TileStache 提供来自 PostgreSQL 的矢量切片,并使用 Tangram 通过在数据中传递 URL(' http://localhost:8080/composite/ {z}/{x}/{y}.json')来显示这些切片资源。我得到的响应是 JSON 格式,这正是我想要的。

如何加密 JSON 响应?因此它在客户端不是人类可读的,而在服务器端是可读的。

0 投票
1 回答
1061 浏览

node.js - MapboxGL 客户端的自托管矢量切片渲染不正确

我正在尝试在 Node.js 中设置一个 Web 服务器,该服务器提供要在使用 MapboxGL JS 的浏览器中显示的矢量图块。矢量切片的数据存储在 PostGIS 数据库中。

我当前的设置似乎朝着正确的方向发展,因为我可以看到矢量图块正在加载并显示在浏览器中。但是渲染的结果不正确(这是我地图的一部分的截图):

不正确的瓷砖

绿色建筑足迹的上半部分在图像的下半部分重复出现。我还注意到放大和缩小时建筑物“改变”的位置,表明瓷砖以某种方式呈现偏移或不正确的范围......导入的数据在 SRID 4326 中。

这是我的代码:

自定义矢量数据源包含在地图中,如下所示:

0 投票
0 回答
640 浏览

javascript - Mapbox GL JS 线层在移动设备上的渲染问题

我设置了一个本地矢量切片服务,它以 MapBox protobuf 格式提供矢量切片数据。我还使用 Mapbox GL JS 编写了一个简单的 JS 客户端来显示矢量瓦片数据。

在我的桌面浏览器上一切都很好。但是,当我在移动浏览器(各种设备)上打开客户端应用程序时,其中一些存在渲染问题 - 看起来线条层的 z 级别有问题(屏幕附在底部)。

为简化起见,我将发布仅显示 protobuf 切片的代码,这些切片在切片边框、水平线和垂直线处带有线条。问题仍然存在,与“真实”地图数据相同。

问题不是特定于浏览器的。它在 2 部手机上的移动 chrome 和 Firefox 上都被发现:小米 Redmi Note2 和一些屏幕分辨率非常高的三星。在带有 Chrome 的 Xperia Z1 上渲染没问题。在桌面浏览器上渲染是可以的。

还有一件事 - 我从 MapBox 示例页面检查了矢量平铺示例,它在任何地方都可以渲染。

问题):

也许有 MapBox protobuf / GL JS lib 经验的人知道可能出了什么问题?也许样式缺少一些设置......或者 GL JS 库对它所提供的矢量平铺 pbf 数据有一些不明显的要求?

客户端应用代码:

生成 pbf 内容的 Java 类:

截图

桌面浏览器 - 一切正常:

桌面浏览器 - 一切正常

移动浏览器 - 线条消失:

移动浏览器 - 线条消失

0 投票
0 回答
865 浏览

postgis - mapbox-gl.js 与 PGRESTAPI 矢量瓦片(pbf)

我有来自 PGRESTAPI 的自己的矢量瓷砖,网址如下“ http://192.168.1.4:3001/services/postgis/cleantech2/geom/vector-tiles/{z}/{x}/{y}.pbf

我尝试使用 mapbox-gl.js 渲染地图,但没有显示。

我做错了吗?谢谢

编辑1:

调试 mapbox-gl-js 代码后,现在可以看到几个圆圈。我修改了样式,来自pbf的源层名称必须是正确的。

但没有显示所有的点,似乎被过滤了?

稀疏的圆圈

编辑2:将最大缩放更改为22,显示所有数据。让我们喝!

0 投票
0 回答
816 浏览

javascript - OpenLayer 3 VectorTiles ol.style.Text:未捕获类型错误:a.qg 不是函数

我正在设计一个 OpenLayer VectorTile(托管在 PGRESTAPI 上,以 mvt/pbf 格式提供服务)。线条样式完美,但添加标签会产生以下错误

未捕获的 TypeError:a.qg 不是函数

定义线条样式的工作代码是

当我添加以下代码行时,出现上述错误

*编辑此错误仅发生在我正在使用的其中一个层上,下面示例链接中的数据和我服务器中的另一层按预期工作。我只是不确定是什么造成了错误,因为数据中没有 Null 值,而且错误本身并不能告诉我太多。

http://openlayers.org/en/master/examples/mapbox-vector-tiles.html