• openlayers 自定义工具


    <!DOCTYPE html>
    <html>
      <head>
        <title>Custom Controls</title>
        <link rel="stylesheet" href="http://openlayers.org/en/v3.13.0/css/ol.css" type="text/css">
        <script src="http://openlayers.org/en/v3.13.0/build/ol.js"></script>
        <style>
          .rotate-north {
            top: 65px;
            left: .5em;
          }
          .ol-touch .rotate-north {
            top: 80px;
          }
        </style>
      </head>
      <body>
        <div id="map" class="map"></div>
        <script>
          /**
           * Define a namespace for the application.
           */
          window.app = {};
          var app = window.app;
    
    
          //
          // Define rotate to north control.
          //
    
    
          /**
           * @constructor
           * @extends {ol.control.Control}
           * @param {Object=} opt_options Control options.
           */
          app.RotateNorthControl = function(opt_options) {
    
            var options = opt_options || {};
    
            var button = document.createElement('button');
            button.innerHTML = 'N';
    
            var this_ = this;
            var handleRotateNorth = function() {
              this_.getMap().getView().setRotation(0);
            };
    
            button.addEventListener('click', handleRotateNorth, false);
            button.addEventListener('touchstart', handleRotateNorth, false);
    
            var element = document.createElement('div');
            element.className = 'rotate-north ol-unselectable ol-control';
            element.appendChild(button);
    
            ol.control.Control.call(this, {
              element: element,
              target: options.target
            });
    
          };
          ol.inherits(app.RotateNorthControl, ol.control.Control);
    
    
          //
          // Create map, giving it a rotate to north control.
          //
    
    
          var map = new ol.Map({
            controls: ol.control.defaults({
              attributionOptions: /** @type {olx.control.AttributionOptions} */ ({
                collapsible: false
              })
            }).extend([
              new app.RotateNorthControl()
            ]),
            layers: [
              new ol.layer.Tile({
                source: new ol.source.OSM()
              })
            ],
            target: 'map',
            view: new ol.View({
              center: [00],
              zoom: 3,
              rotation: 1
            })
          });
        </script>
      </body>
    </html>
  • 相关阅读:
    linux中你会新建复制移动删除文件或目录吗?三分钟搞懂【文件管理】
    从此英语渣渣也能看懂man手册-【linux man手册汉化安装使用教程】
    你真的会用ls命令吗?--文件管理命令(ls命令详解)
    Python算法系列—深度优先遍历算法【二叉树】
    Python算法系列-单词匹配模式【hash练习】
    abp 从4.3升级到5.4 从入门到放弃
    ABP core2.2错误笔记2,持续更新
    echart报错: Component series.XXX not exists. Load it first
    单例模式MQTT服务为什么会重复收到消息
    在ABP core中使用RabbitMq
  • 原文地址:https://www.cnblogs.com/devgis/p/16531139.html
Copyright © 2020-2023  润新知