微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

当我缩放到太东的范围时地图崩溃

如何解决当我缩放到太东的范围时地图崩溃

我有一个带有按钮的地图,可以缩放到要素的范围。大多数情况下它都可以正常工作,但是当范围太远时,整个地图就会消失。

这是我在 javascript 中得到的:

function initMap() {

  var view = new ol.View({
    center: endpoint,zoom: 4,maxZoom: 16,});

  map = new ol.Map({
    target: 'map',layers:[],view: view
  });

  map.addControl(zoomToExtentControl);
};


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

然后在另一个函数中:

 let xMinMax = ol.proj.fromLonLat([xMin,xMax]);
 let yMinMax = ol.proj.fromLonLat([yMin,yMax]);
 let padding = 1.06;
 zoomToExtentControl.extent = [(xMinMax[0] * padding),(yMinMax[0] * (padding-0.02)),(xMinMax[1] * padding),(yMinMax[1] * padding)];

为什么当范围在东部时地图会崩溃,而在东部时却能正常工作?我该如何解决这个问题?

解决方法

我不明白 xMinMax/yMinMax 的计算,ol.proj.fromLonLat 输入是一个坐标作为经度和纬度,即一个经度为第 1 个元素,纬度为第 2 个元素的数组。看来您使用的是两个经度或两个纬度(我读了两个 x 和两个 y)。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。