Openlayers 避免在OpenLayer'中以反子午线结尾的地图;什么是OSM?

Openlayers 避免在OpenLayer'中以反子午线结尾的地图;什么是OSM?,openlayers,openstreetmap,Openlayers,Openstreetmap,我希望你能帮我解决这个问题。我会尽我最大的努力继续你提出的任何改进意见和建议 我有一个使用OpenLayers和OSM映射的映射,对于它的配置我仍在努力理解。我觉得必须是一个选项,以避免地图“结束”在180º子午线的右侧,并在那里重复西部地图,而不是显示此灰色区域: 我知道这是可能的,因为,例如,屏幕上的一个小例子显示它是好的(即,世界是“圆形的”),但它似乎没有任何特殊的标志来实现这一点: 所以我猜在整个代码库的任何地方都有人在任何时候禁用了它,但我甚至不知道该开始寻找什么 是否存在启用/

我希望你能帮我解决这个问题。我会尽我最大的努力继续你提出的任何改进意见和建议

我有一个使用OpenLayers和OSM映射的映射,对于它的配置我仍在努力理解。我觉得必须是一个选项,以避免地图“结束”在180º子午线的右侧,并在那里重复西部地图,而不是显示此灰色区域:

我知道这是可能的,因为,例如,屏幕上的一个小例子显示它是好的(即,世界是“圆形的”),但它似乎没有任何特殊的标志来实现这一点:

所以我猜在整个代码库的任何地方都有人在任何时候禁用了它,但我甚至不知道该开始寻找什么

是否存在启用/禁用此行为的标志?我的代码会做些什么来否定这个观点中的球形地球呢

一些(我希望)相关的代码位——但是中间有几十行,所以请帮助我找出其他相关的内容:

self.projection=newopenlayers.projection('EPSG:900913');
self.displayProjection=newopenlayers.Projection('EPSG:4326');
var zoombar=new OpenLayers.Control.PanZoomBar(
{'div':OpenLayers.Util.getElement('map-controls')}
);
变量ol_选项={
控制:[
祖姆巴,
新的OpenLayers.Control.Navigation()
],
投射:自我投射,
displayProjection:self.displayProjection,
单位:'m',
最大分辨率:156543.0339,
maxExtent:new OpenLayers.Bounds(-20037508.34,-20037508.3420037508.3420037508.34),
展期:20
};
self.map=新建OpenLayers.map(div,ol_选项);//div是一个函数参数
self.osmLayer=new OpenLayers.Layer.OSM(
“开放式街道地图”,
"",
{Zoomofset:8,决议:[611.496226171875、305.7481130859375、152.87405654296876、76.43702827148438、38.21851413574219、19.1092570671095、9.55462853393547、4.77731426696774、2.388657134887、1.1943285667419434、0.597164283]}]
);
self.map.addLayers([self.osmLayer]);

这是OpenLayers 3还是OpenLayers 2?你的链接到了3,但是还没有正式发布。这两个代码基础非常不同,因此这是相关的。@JohnBarça感谢您指出这一点。这是OpenLayers 2。我不知道有什么不同…不用担心。在这种情况下,您可以提供一些代码来说明如何获得上述视图。通常情况下,作为映射构造函数的选项传递的范围和分辨率决定了它的外观,但无法从您的问题中分辨出来。Por lo que vale,tu blog es muy gracioso@JohnBarça但这在OpenLayers 2中可以实现吗?问题是代码库非常庞大,我不知道从哪里开始。无论如何,我会尝试添加一些可能相关的代码。