首页 > 解决方案 > 如何在 mapbox 上显示数据库值?

问题描述

我正在使用 Mapbox,并创建了一个具有(经度和纬度)等值的数据库,我想在我的地图上以多边形的形式显示数据。

如您所见,我想将数据库中的经度和纬度放在代码上的坐标中,但我不知道如何从数据库中检索它。

map.on('load', function() {
    map.addSource('maine', {
    'type': 'geojson',
    'data': {
    'type': 'Feature',
    'geometry': {
    'type': 'Polygon',
    'coordinates': [

                []
        ]
      }
    }
});
    map.addLayer({
        'id': 'maine',
        'type': 'fill',
        'source': 'maine',
        'layout': {},
        'paint': {
        'fill-color': '#088',
        'fill-opacity': 0.8
        }
     });
 });

这是我在 api.php 文件中的数据库:
这是我在文件 api.php 中的数据库

标签: javascriptjqueryajaxdrawmapbox-gl-js

解决方案


我也不知道如何从您的数据库中检索它,因为您没有提供任何详细信息。但一般来说,您的方法是:

  • 提供通过 URL (example.com/mydatabase/points.csv) 以某种形式(例如 CSV)访问数据的 API
  • 在客户端获取 CSV,并将其转换为 GeoJSON。(如果你的后端可以直接生成GeoJSON,可以省去这一步)
  • 将其作为 GeoJSON 源图层添加到 Mapbox 地图

推荐阅读