Openlayers - 添加控制:缩放/平移到当前位置

Posted

技术标签:

【中文标题】Openlayers - 添加控制:缩放/平移到当前位置【英文标题】:Openlayers - Add control: zoom/pan to current location 【发布时间】:2021-05-01 12:47:48 【问题描述】:

我正在尝试向地图添加一个 ol.control 按钮,以缩放/平移到我当前的位置。我已经提取了我的位置坐标:

var geolocation = new ol.Geolocation(
        projection: map.getView().getProjection(),
        tracking: true
    );
geolocation.getPosition(); //this shows the coordinates (e.g.[591374.2306195896, 6746799.171545821])

现在我想将这些用作“缩放至”ol.control 按钮的输入。就像使用 ol.control.ZoomToExtent 一样,它会创建一个控制按钮。例如:

map.addControl(zoomToExtentControl);

zoomToExtentControl = new ol.control.ZoomToExtent(
  extent: [-1013450.0281739295, 3594671.9021477713, 6578887.117336057, 10110775.689402476],
  className: 'custom-zoom-extent',
  label: '????'
);

请帮帮我:-)

【问题讨论】:

你在文档中看到过这个例子吗:openlayers.org/en/latest/examples/animation.html 【参考方案1】:

用于 ZoomToExtent 的范围数组可以根据地理位置的精度范围动态更新

var geolocation = new ol.Geolocation(
        projection: map.getView().getProjection(),
        tracking: true
    );

var extent = ol.extent.createEmpty();

geolocation.on('change:accuracyGeometry', function() 
    geolocation.getAccuracyGeometry().getExtent(extent);
);

zoomToExtentControl = new ol.control.ZoomToExtent(
  extent: extent,
  className: 'custom-zoom-extent',
  label: '?'
);

【讨论】:

以上是关于Openlayers - 添加控制:缩放/平移到当前位置的主要内容,如果未能解决你的问题,请参考以下文章

更改 openlayers 中标记的 z-index

如何使用 OpenLayers 显示、居中和缩放地图?

Openlayers 禁用鼠标双击缩放事件(ol.interaction.DoubleClickZoom)

PictureBox中的图片实现鼠标滑轮控制缩放和平移

Android进度条控制图片旋转·平移·缩放·倾斜

如何在闪亮应用程序的平移和缩放功能中添加控件?