mapbox - MapBox - 类似 Uber 的位置选择器
问题描述
我正在尝试使用 MapBox 制作类似 Uber 的位置选择器。缩放时,我想在固定标记(位于地图中心)上“冻结”地图。
默认情况下,无论何时缩放,地图实际上都会缩放到您开始缩放的点击/捏合点,而不是地图中心。我几乎明白了,但现在我正在与居中过渡作斗争(我不想要它)。
有什么诀窍可以实现吗?目前我正在尝试使用 mapbox 事件zoomend
和move
. 不幸的是zoom
引发了太多事件,并且地图像地狱一样滞后:
let markerLocation = map.getCenter();
const marker = new mapboxgl.Marker()
.setLngLat(markerLocation)
.addTo(map);
map.on(`zoomend`, (e) => {
map.flyTo({
center: markerLocation,
});
});
map.on(`move`, (e) => {
if (map.isZooming()) {
return;
}
markerLocation = map.getCenter();
marker.setLngLat(markerLocation);
});
请找到 JsFiddle:https ://jsfiddle.net/pawelol/kpu8nzh9/2/
任何帮助将不胜感激:)
解决方案
推荐阅读
- javascript - 运行 javascript 以更新 HTML 并使用 CSS 关键帧重播计数动画的问题
- python - 仅获取最后一行代码的输出?
- git - 如何更改 Github 本地 repo .git/config 凭据以规避 403?
- android - android模拟器上的分屏(多窗口)模式?
- java - 尝试从子菜单 Java 返回主菜单时出现问题
- sql - 在请求中,oracle 指定在 30 分钟内指定一个增量(人员可以来更改)
- mongodb - 无法将加密的 DocumentDB 集群快照共享到同一区域的不同 AWS 账户
- asp.net - 在 asp .NET Core 中的每个剃须刀页面上加载菜单结构
- react-native - 反应原生动画模态以从左到右显示
- python - 使用 PyInstaller 时 plyer 出现问题