避免在OpenLayer的OSM中以反子午线结尾的地图?

时间:2014-08-28 18:34:33

标签: openlayers openstreetmap

  

我希望你帮我解决问题本身。我会尽力继续提出你所做的任何评论和建议。

我有一张使用OpenLayers和OSM地图的地图,我仍然试图理解这些配置。我感觉 必须是一个选项,以避免地图“结束”在180º子午线的右边,而重复西部地图而不是显示这个灰色区域:

My flat-with-a-turtle-below view of the world

我知道这是可能的,因为,例如,OpenLayers website上的小例子显示它没问题(即,世界 “圆形”那里),但似乎没有有任何特殊标志来启用此功能:

A more actual point of view

所以我的猜测是,整个代码库中的任何地方有人随时禁用它,但我甚至不知道该怎么开始寻找。

是否有启用/禁用此行为的标志?我的代码可以做些什么来否定这个观点上球形地球的想法?

有些(我希望)代码的相关部分 - 但中间有几十行,所以请帮助我确定其他相关内容:

self.projection = new OpenLayers.Projection('EPSG:900913');
self.displayProjection = new OpenLayers.Projection('EPSG:4326');

var zoombar = new OpenLayers.Control.PanZoomBar(
    {'div': OpenLayers.Util.getElement('map-controls')}
);

var ol_options = {
    controls: [
        zoombar,
        new OpenLayers.Control.Navigation()
    ],
    projection: self.projection,
    displayProjection: self.displayProjection,
    units: 'm',
    maxResolution: 156543.0339,
    maxExtent: new OpenLayers.Bounds(-20037508.34, -20037508.34, 20037508.34, 20037508.34),
    panDuration: 20
};


self.map = new OpenLayers.Map(div, ol_options); // div is a function parameter

self.osmLayer = new OpenLayers.Layer.OSM(
  "Open Street Map",
  "",
  {zoomOffset: 8, resolutions: [611.496226171875, 305.7481130859375, 152.87405654296876, 76.43702827148438, 38.21851413574219, 19.109257067871095, 9.554628533935547, 4.777314266967774, 2.388657133483887,1.1943285667419434, 0.597164283]}
);

self.map.addLayers([self.osmLayer]);

0 个答案:

没有答案