0

我对 OpenLayers 很陌生,我正试图在我的主页上显示一张地图,它只显示澳大利亚,然后在地图上添加一些点。现在最重要的是打开地图到澳大利亚。

我正在使用 OpenLayers 主页上的示例,其中:

var map = new OpenLayers.Map('map');
var wms = new OpenLayers.Layer.WMS( "OpenLayers WMS",
        "http://vmap0.tiles.osgeo.org/wms/vmap0", {layers: 'basic'} );
....

我猜我必须向构造函数传递一些东西才能让它只显示一个特定的区域?

谢谢,

山姆

4

2 回答 2

0

在另一个stackoverflow问题上找到了这个:

var bounds = new OpenLayers.Bounds(-125, 25, -65, 50);
var map = new OpenLayers.Map('map', {restrictedExtent: bounds  });
于 2012-11-08T03:58:33.350 回答
0

Open Layers 使用投影来适应 3D 世界的 2D 地图。投影是一种数学方式,表示在 3D 球体(世界)上,坐标 x,y 实际上是 2D 地图上其他位置的 x,y。在 openlayers 这涉及更改视图,您可以使用 fromLonLat() 方法。此处有关投影的更多信息:https ://openlayers.org/en/latest/doc/faq.html

mapOfAustralia = new ol.Map({
  layers: [
    new ol.layer.Tile({
    source: new ol.source.OSM()
  })
  ],
  target: targetElement,
  controls: ol.control.defaults({
  attributionOptions: {
  collapsible: false
  }
  }),
    view: new ol.View({
    center: ol.proj.fromLonLat([133.7751, -23.2744]),
    zoom: 4
  })
});

于 2018-02-08T03:14:36.807 回答