使用 Jumpto 而不是 Flyto 进行 Mapbox 地理编码?

Mapbox geocode with Jumpto instead of Flyto?

Mapbox 有一个名为 flyto 的默认地理编码功能。它会缩小您在地图上的当前位置平移并放大到另一个位置。这看起来很酷,但对于大型数据集来说似乎 运行 变慢了。是否可以将默认地理编码功能更改为 Jumpto 而不是 Flyto?我注意到 jumpto 在其他具有大数据的示例中往往加载速度更快。

请参阅 API 文档 https://github.com/mapbox/mapbox-gl-geocoder/blob/master/API.md 有一个 flyTo 选项可以设置为 false。

禁用 flyTo 将导致地图完全不动。目前无法通过 Geocoder 控件使用 jumpTo 动画,但您可以更改动画属性。

根据 documentation, the flyTo parameter accepts an AnimationOptions 对象作为参数,您可以将持续时间设置为 0。

const geocoder = new MapboxGeocoder({
  accessToken: MAPBOX_ACCESS_TOKEN,
  mapboxgl: mapboxgl,
  flyTo: { duration: 0 }
});

这将使动画瞬间发生。