【问题标题】:Remove default Marker from Mapbox Geocoder从 Mapbox 地理编码器中删除默认标记
【发布时间】:2022-01-05 08:30:29
【问题描述】:

我目前是一名初学者,正在尝试使用 ReactJS 和 Mapbox GL JS 构建项目。到目前为止,我已经在从 JSON 文件中检索的位置创建了一个带有地理编码器、导航控件和标记的地图。然而,令人讨厌的是,每当我使用地理编码器搜索位置时,它都会在我搜索过的位置放置一个标记。现在,我刚刚编辑了标记属性,并使颜色与 JSON 位置上的标记不同,所以它看起来有些像样,但这只是一个临时解决方案。我将如何完全删除默认标记?附上Geocoder元素代码:

const geocoder = new MapboxGeocoder({
      accessToken: mapboxgl.accessToken,
      mapboxgl: mapboxgl,
      placeholder: "Search City, State, Country, Zip Code",
      marker: {
        color: "black",
      },
    });
map.addControl(geocoder);

基本上,我正在尝试找到一种方法来完全摆脱地理编码器标记。谢谢!

【问题讨论】:

    标签: javascript reactjs mapbox mapbox-gl-js


    【解决方案1】:

    在 react-map-gl-geocoder 的 GitHub 主页中,它解释了关于 prop 'marker' 的说明:

    如果为 true,将使用一组默认标记选项将标记添加到用户选择结果的位置处的地图中。如果该值是一个对象,则将使用这些选项构造标记。如果为 false,则不会向地图添加标记。

    所以基本上你需要将代码更改为:

    const geocoder = new MapboxGeocoder({
      accessToken: mapboxgl.accessToken,
      mapboxgl: mapboxgl,
      placeholder: "Search City, State, Country, Zip Code",
      marker: false,
    });
    map.addControl(geocoder);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-12-06
      • 2021-06-27
      • 2018-12-26
      • 1970-01-01
      • 2021-07-10
      • 2018-11-26
      相关资源
      最近更新 更多