0

第一次在 SO Obligatory 上提出问题,我是一名新的 fsd 学生。

长话短说,对于一个项目,我正在尝试创建一个反应应用程序,该应用程序沿指定区域的一组特定路径提供方向。我有一个使用 mapbox-directions 的应用程序,但是我发现您允许设置的参数不够具体,无法限制路线选项以适合我的用例。做了一些阅读后,看起来地图匹配 API 将允许我这样做(例如,为向人们展示“风景路线”而开发的保时捷应用程序,这基本上是我正在尝试做的事情,尽管出于不同的原因) . 然而,关于使用地图匹配 API 和在线反应的文档非常有限 - 所以我被困住了!

应该注意的是,我已经尝试过 -> 联系我的辅导员和/或同行,搜索互联网,从头开始创建一个新项目,以及直接联系 mapbox。此外,我尝试按照“https://docs.mapbox.com/help/tutorials/get-started-map-matching-api/#add-the-map-matching-api”上的教程进行操作,并且能够让它在一个单独的文件中工作,摘录

“将坐标传递给地图匹配 API 的选项在本教程中创建的这个应用程序中,地图匹配 API 用于生成路线的坐标是由用户使用 Mapbox GL 绘图工具直接向地图添加点创建的。通常,但是,您可能希望以编程方式添加 Map Matching API 使用的点。例如,Map Matching API 可以访问包含地标坐标的数据集以创建风景路线,或者具有已知停车场位置的数据集接近路线的尽头。” - 是什么让我认为这是完成我想要做的事情的正确 API/技术。

到目前为止我如何使用 mapbox-directions 的示例/代表性(工作)代码片段 - >(可能在某处缺少一两个括号,我试图尽可能多地删除不必要的代码)。


import mapboxgl from 'mapbox-gl';
import 'mapbox-gl/dist/mapbox-gl.css';
import MapboxDirections from '@mapbox/mapbox-gl-directions/dist/mapbox-gl-directions'
import '@mapbox/mapbox-gl-directions/dist/mapbox-gl-directions.css'

const Mapbox = () => {
  const mapContainerRef = useRef(null);
  useEffect(() => {
    const map = new mapboxgl.Map({
      container: mapContainerRef.current,
      style: 'example-style',
      center: [example-lng, example-lat],
      zoom: 15,
      pitch: 20
    });
    
    const directions = new MapboxDirections({
      accessToken: mapboxgl.accessToken,
      unit: 'metric',
      profile: 'mapbox/walking',
      walkway_bias: 1,
      alley_bias: -1,
        controls: {
        profileSwitcher: false,
        inputs: false
        }
      }
    );
return () => map.remove();
  }, []);

  return (
      <div className="map-container" ref={mapContainerRef}/>    
  );
};

所以!我面临的问题是我想用一些东西替换代码的方向部分,const match = newMapMatching({})然后我可以提供沿着所需的人行道网络的坐标,并包含在我的 mapbox 组件中,该组件稍后会导入 App.js。这将需要一个我也无法找到的 react 导入,这使我什至无法开始使用它。

我确信我缺少一些大的概念,所以请理解我是一个新的开发人员/学生,并且只学习了几个月。任何和所有的指导都将不胜感激,因为我被严重卡住了,感觉好像我已经用尽了几乎所有的选择。

感谢并期待您的回音!

4

0 回答 0