【问题标题】:Openlayers - Add control: zoom/pan to current locationOpenlayers - 添加控制:缩放/平移到当前位置
【发布时间】: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: '????'
});

请帮帮我:-)

【问题讨论】:

标签: javascript location openlayers


【解决方案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: '?'
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-02
    • 2019-07-25
    • 1970-01-01
    • 1970-01-01
    • 2011-07-17
    • 2016-01-06
    相关资源
    最近更新 更多