美文网首页
八章-93-投影成摩尔威德球体

八章-93-投影成摩尔威德球体

作者: 彩云飘过 | 来源:发表于2020-03-27 17:54 被阅读0次

    本文基于腾讯课堂老胡的课《跟我学Openlayers--基础实例详解》做的学习笔记,使用的openlayers 5.3.x api。

    源码 见 1093.html ,对应的 官网示例

    image.png
    <!DOCTYPE html>
    <html>
    
    <head>
      <title></title>
      <link rel="stylesheet" href="../include/ol.css" type="text/css" />
      <script src="../include/ol.js"></script>
      <script src="../include/proj4.js"></script>
    </head>
    <style></style>
    
    <body> 
      <div id="map" class="map"></div>
      <script>
       proj4.defs('ESRI:53009', '+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=6371000 ' +
              '+b=6371000 +units=m +no_defs');
          ol.proj.proj4.register(proj4);
    
          // Configure the Sphere Mollweide projection object with an extent,
          // and a world extent. These are required for the Graticule.
          var sphereMollweideProjection = new ol.proj.Projection({
            code: 'ESRI:53009',
            extent: [-9009954.605703328, -9009954.605703328,
              9009954.605703328, 9009954.605703328],
            worldExtent: [-179, -89.99, 179, 89.99]
          });
    
          var map = new ol.Map({
            keyboardEventTarget: document,
            layers: [
              new ol.layer.Vector({
                source: new ol.source.Vector({
                  url: '../data/countries-110m.geojson',
                  format: new ol.format.GeoJSON()
                })
              })
            ],
            target: 'map',
            view: new ol.View({
              center: [0, 0],
              projection: sphereMollweideProjection,
              resolutions: [65536, 32768, 16384, 8192, 4096, 2048],
              zoom: 0
            })
          });
    
          new ol.Graticule({
            map: map
          });
      </script>
    </body>
    
    </html>
    

    相关文章

      网友评论

          本文标题:八章-93-投影成摩尔威德球体

          本文链接:https://www.haomeiwen.com/subject/nihruhtx.html