使用openlayer和OSM仅显示一个区域

时间:2018-03-04 15:35:37

标签: javascript openlayers openstreetmap

我发现这个问题Show only United States when using Leaflet.js and OSM正是我正在寻找的问题,但问题是我不使用传单。目前正在使用OpenLayers,看到了一些例子here,但没有任何想法好运吗?

    <div id="map" class="map"></div>
<script type="text/javascript">
  var map = new ol.Map({
    target: 'map',
    layers: [
      new ol.layer.Tile({
        source: new ol.source.OSM()
      })
    ],
    view: new ol.View({
      center: ol.proj.fromLonLat([125.126012,6.066714]),
      zoom: 17,
      minZoom: 17,
      maxZoom: 18
    })
  });
</script>

1 个答案:

答案 0 :(得分:1)

您需要使用view extent属性。请注意,它会限制地图中心的位置。

var map = new ol.Map({
  target: 'map',
  layers: [
      new ol.layer.Tile({
        source: new ol.source.OSM()
      })
    ],
  view: new ol.View({
    center: ol.proj.fromLonLat([125.126012,6.066714]),
    zoom: 17,
    minZoom: 17,
    maxZoom: 18,
    extent:ol.proj.transformExtent([113,4, 119, 8], 'EPSG:4326', 'EPSG:3857')
  })
});