0

我有以下 geojson 点,它们将是地图上的公共汽车:

  const features = buses.map((el) => ({
    type: 'Feature',
    geometry: {
      type: 'Point',
      coordinates: el.state.position.coordinates.map((coordinate) => +coordinate),
    },
    properties: {
      reg_number: el.reg_number,
      object_id: el.object_id,
      route: el.route,
      fuel: +el.state.fuel,
      speed: +el.state.speed,
    },

  }));
  return features;
}

它的层如下:

  id: 'Point-data',
  type: 'circle',
  paint: {
    'circle-color': {
      property: 'percentile',
      stops: [
        [10, "#ff0000"],
        [20, '#ff3300'],
        [30, "#ff6600"],
        [40, "#ff9100"],
        [50, '#ffd000'],
        [60, '#bbff00'],
        [70, '#b3ff00'],
        [80, '#91ff00'],
        [90, '#7bff00'],
        [100, '#1eff00']
      ],
    },
    'circle-radius': 7,
  },
};

而不是 'circle' 我想使用 'symbol' 类型并设置一个图标。据我所知,它需要一个来自地图样式精灵图标集合的名称。我现在不需要制作自定义精灵,我想我会对默认的巴士图标感到满意,深色地图框地图肯定有精灵,但我不知道如何找到它。我在哪里可以看到图标列表及其精灵名称?以及它包含的 png 和 json 文件。来自 Uber Open Source 的 sprite 示例

4

1 回答 1

3

对于其他人,我想分享我自己找到的解决方案:我在https://studio.mapbox.com中创建了一张地图,然后按照文档进行操作:https ://docs.mapbox.com/api/maps/#sprites 特别是这个:

curl "https://api.mapbox.com/styles/v1/{username}/{style_id(take it from the url of the map u created)}/sprite.{format(png or json)}?access_token=pk.eyJ1IjoiYXJ0dm9sY2hhcmEiLCJhIjoiY2s3bHJ2NjU4MGFjbDNtczJnam10aDU1aSJ9.oH_RWYjKfrKGC77m

在那里我找到了巴士图标。我制作了一个符号层,将图标的名称放在“图标图像”中。我希望它会帮助smb。

于 2020-03-16T19:59:24.173 回答