javascript - 将 PNG 或 JPEG 用于带有 OpenLayers 的 map (缩放/缩放问题)

标签 javascript map openlayers

我正在使用图像通过 OpenLayers 显示我的 map 。我的 JS 代码如下所示:

map = new OpenLayers.Map('map');

var options = {numZoomLevels: 7,
                isBaseLayer: true,
                };

var globe = new OpenLayers.Layer.Image(
    'Globe ESA',
    'http://upload.wikimedia.org/wikipedia/commons/0/07/World_map_blank_black_lines_4500px.gif',
    new OpenLayers.Bounds(-180, -90, 180, 90),
    new OpenLayers.Size(4500, 2234),
    options);

map.addLayers(globe);

markers = new OpenLayers.Layer.Markers("markers");
map.addLayer(markers);

map.addControl(new OpenLayers.Control.LayerSwitcher());
map.zoomToMaxExtent();
map.addControl(new OpenLayers.Control.MousePosition());

我的 CSS 是:

#map {
    width: 640px;
    height: 480px;
    border: 1px solid black;
}

但我无法让 OpenLayers 缩小大图像。它始终以全分辨率显示,我无法缩小以显示整个地球。请帮忙。

最佳答案

您需要设置图像在完全缩小时应显示的大小。

var globe = new OpenLayers.Layer.Image(
    'Globe ESA',
    'http://upload.wikimedia.org/wikipedia/commonS/0/07/World_map_blank_black_lines_4500px.gif',
    new OpenLayers.Bounds(-180, -90, 180, 90),
    new OpenLayers.Size(1125,558),
    options);

我把尺寸改成了原来尺寸的四分之一。如果您希望它缩小得更多,您可以将其缩小。

关于javascript - 将 PNG 或 JPEG 用于带有 OpenLayers 的 map (缩放/缩放问题),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/813644/

相关文章:

java - 在 Java 中按值对 Map 进行排序

vue.js - openlayers map 未在 vuejs 中显示

javascript - 如何按照这种模式将 Javascript 对象的所有函数复制到另一个对象?

javascript - 随机div,只显示其中的一部分

javascript - 使用 Jquery 滑动切换表行

javascript - Auth0邮箱确认,如何优雅的处理注册

STL - STL map::find 函数在没有相等运算符的情况下如何工作?

Java 将值映射到逗号分隔的字符串

django - 将 GeoDjango 查询集发送到模板并使用 OpenLayers.js 进行使用

javascript - Openlayer 与大数据