gpt4 book ai didi

javascript - 如何在 ngx-openlayers 中加载自定义 .pbf 文件

转载 作者:行者123 更新时间:2023-12-03 01:59:10 24 4
gpt4 key购买 nike

我能够使用 ngx-openlayers 加载 map 使用以下代码

   <aol-map [width]="'100%'" [height]="'100%'">
<aol-view [zoom]="zoom">
<aol-coordinate [x]="5" [y]="45" [srid]="'EPSG:4326'"></aol-coordinate>
</aol-view>
<aol-layer-tile [opacity]="opacity">
<aol-source-osm></aol-source-osm>
</aol-layer-tile>
<aol-layer-vector [opacity]="opacity">
<aol-source-vector>
<aol-feature>
<aol-geometry-point>
<aol-coordinate [x]="5" [y]="45" [srid]="'EPSG:4326'"></aol-coordinate>
</aol-geometry-point>
<aol-style>
<aol-style-circle [radius]="10">
<aol-style-stroke [color]="'black'" [width]="width"></aol-style-stroke>
<aol-style-fill [color]="'green'"></aol-style-fill>
</aol-style-circle>
</aol-style>
</aol-feature>
<aol-feature>
<aol-geometry-point>
<aol-coordinate [x]="5.1" [y]="45.1" [srid]="'EPSG:4326'"></aol-coordinate>
</aol-geometry-point>
<aol-style>
<aol-style-icon [src]="'assets/marker.png'" [anchor]="[0.5, 1]" [anchorXUnits]="'fraction'" [anchorYUnits]="'fraction'" [scale]="0.1"
[anchorOrigin]="'top-left'">
</aol-style-icon>
</aol-style>
</aol-feature>
</aol-source-vector>
</aol-layer-vector>
</aol-map>

我的问题是我想加载一个自定义 map 位置,该位置是我使用 http://localhost:8090/tileserver.php#trails/ol3 上的 MapTile 服务器在本地计算机上提供的。网址。现在来自上述服务器的 XYZ URL 为 ( http://localhost:8090/tileserver.php?/index.json?/trails/ {z}/{x}/{y}.pbf)

如何使用 ngx-openlayers packkage 加载此 map

我尝试过使用它,但它不起作用

<aol-map [width]="'500px'" [height]="'300px'">
<aol-interaction-default></aol-interaction-default>
<aol-control-defaults></aol-control-defaults>
<aol-control-fullscreen></aol-control-fullscreen>
<aol-layer-tile>
<aol-source-osm></aol-source-osm>
<aol-source-xyz [url]="'http://localhost:8090/tileserver.php?/index.json?/trails/{z}/{x}/{y}.pbf'">
</aol-source-xyz>
</aol-layer-tile>

<aol-view [zoom]="12">
<aol-coordinate [x]="6.47" [y]="53.44" [srid]="'EPSG:4326'"></aol-coordinate>
</aol-view>
</aol-map>

最佳答案

所以,是的,我即将回答我自己的问题,因为它可能会对将来的某人有所帮助。

基础知识

OSM (OpenStreetMap) 的 map 有两大类

1.光栅格式:这是 map 的光栅图像(PNG、JPEG、SVG ...)图 block 。这种格式可以被压缩并变成.mbtiles格式。您可以使用类似 mbuilt 的工具将内容提取到 tms、wsm 或 XYZ 文件夹结构中。这是一种简单快捷的选择。

  • 矢量格式:这是一种矢量文件格式,它可以包含多种文件类型,例如 .pbf 。它还可以压缩为 .mbtiles 文件。我们需要一个切片服务器来渲染矢量文件的内容。 Tile server GL是一个瓦片服务器,用于提供矢量/栅格 map 文件(mbtiles)
  • 解决离线托管问题后,我使用了 Angular 的默认 leaflet.js 包,一切正常,没有出现问题。

    我用了OpenMaptiles映射文件以使用tileserver-gl 托管它们

    关于javascript - 如何在 ngx-openlayers 中加载自定义 .pbf 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50116450/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com