mbtiles - 如何让 Kepler GL 将本地 MBTiles 服务器用于基本地图而不是在线地图?
问题描述
我有一个 MBTile 服务器在我的本地机器上运行,作为离线 Web 应用程序的服务。我们使用它在离线环境中提供基本地图。我正在探索扩大 Web 应用程序的范围以包含 Kepler GL 功能。
需要更改或添加哪些文件和代码以引导 Kepler GL 使用我在 localhost:3000 上的切片服务器?
谢谢
尝试替换 mapbox 的令牌键和地图 URL。
默认设置.js
... export const MAP_URI = 'demo/map?mapUrl='; ...
webpack.config.js
... // 可选:允许从环境变量插件中读取 mapbox 和 dropbox 客户端令牌:[ //new webpack.EnvironmentPlugin(['MapboxAccessToken', 'DropboxClientId']) new webpack.EnvironmentPlugin({'MapboxAccessToken': 'pk. XXX', 'DropboxClientId': null}) ] }; ...
将 MAP_URI 替换为切片服务器 ( http://localhost:3000 ) 的路径仍将通过编译器,并且开普勒将运行,但没有任何地图。
解决方案
您需要通过包含指向本地图块服务器的源的 url 或静态对象来加载样式。然后调用 loadCustomMapStyle 加载它,并 addCustomMapStyle 立即使用它。
const wrapIt = wrapTo("map");
dispatch(
wrapIt(
loadCustomMapStyle({
style: styleObject
})
)
);
dispatch(wrapIt(addCustomMapStyle()));
推荐阅读
- html - 在元素上应用 :focus 伪类
- arrays - 在 Smalltalk 中对数组元素进行排序
- python - 如何使用另一个数据框的子集填充数据框的列?
- python - 将 pandas._libs.tslibs.timestamps.Timestamp 转换为日期时间
- rust - 为什么在为类型别名编写 impl 时会出现错误“无法为定义类型的 crate 之外的类型定义固有的 `impl`”?
- kubernetes - kubernetes:虽然 pod 健康,但服务无法访问
- angularjs - 如何将我的 anular js 前端连接到在两个快速服务器上运行的两个套接字不同连接
- php - 带有参数和类型的soap客户端调用函数
- android - 清单合并失败(使用房间)
- python - 如何计算每条记录中的单词并在最佳时间将其存储在单词和键级别?