• maptalks 开发GIS地图(2)maptalks 介绍


    11. arcgis_tile_layer

    复制代码
     1 var arcUrl = 'https://services.arcgisonline.com/arcgis/rest/services/ESRI_Imagery_World_2D/MapServer';
     2 
     3   maptalks.SpatialReference.loadArcgis(arcUrl + '?f=pjson', function (err, conf) {
     4     if (err) {
     5       throw new Error(err);
     6     }
     7     var ref = conf.spatialReference;
     8     ref.projection = 'EPSG:4326';
     9 
    10     var map = new maptalks.Map('map', {
    11       center: [121, 0],
    12       zoom: 1,
    13       minZoom: 1,
    14       maxZoom : 16,
    15       spatialReference : ref,
    16       baseLayer: new maptalks.TileLayer('base', {
    17         'tileSystem' : conf.tileSystem,
    18         'tileSize' : conf.tileSize, // [512, 512]
    19         'urlTemplate' : arcUrl + '/tile/{z}/{y}/{x}',
    20         'attribution' : '&copy; <a target="_blank" href="' + arcUrl + '"">ArcGIS</a>'
    21       })
    22     });
    23   });
    复制代码

    12. layer-mask

    复制代码
     1 var mask = new maptalks.Polygon(boundary, {
     2     'symbol' : [
     3       {
     4         'lineColor' : '#ccc',
     5         'lineWidth' : 8,
     6         'polygonFillOpacity' : 0
     7       },
     8       {
     9         'lineColor' : '#404040',
    10         'lineWidth' : 6,
    11         'polygonFillOpacity' : 0
    12       }
    13     ]
    14   });
    15 
    16   //Copy the mask to add as mask's outline
    17   var outline = mask.copy();
    18 
    19   var maskedLayer = new maptalks.TileLayer('masked', {
    20     'urlTemplate' : 'https://{s}.basemaps.cartocdn.com/dark_all/{z}/{x}/{y}.png',
    21     'subdomains'  : ['a','b','c','d']
    22   })
    23     .setMask(mask) // set boundary as the mask to the tilelayer
    24     .addTo(map);
    复制代码

    13. 百度 Projection

    复制代码
     1 var map = new maptalks.Map('map', {
     2     center: [105.08052356963802, 36.04231948670001],
     3     zoom: 5,
     4     minZoom:1,
     5     maxZoom:19,
     6     spatialReference:{
     7       projection : 'baidu'
     8     },
     9     baseLayer: new maptalks.TileLayer('base', {
    10       'urlTemplate' : 'http://online{s}.map.bdimg.com/onlinelabel/?qt=tile&x={x}&y={y}&z={z}&styles=pl&scaler=1&p=1',
    11       'subdomains'  : [0,1,2,3,4,5,6,7,8,9],
    12       'attribution' :  '&copy; <a target="_blank" href="http://map.baidu.com">Baidu</a>'
    13     })
    14   });
    复制代码

    14. css-filter

    复制代码
     1 var map = new maptalks.Map('map', {
     2     center: [105.08052356963802, 36.04231948670001],
     3     zoom: 5,
     4     minZoom:1,
     5     maxZoom:19,
     6     baseLayer: new maptalks.TileLayer('base', {
     7       urlTemplate: 'https://{s}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}.png',
     8       subdomains: ['a','b','c','d'],
     9       attribution: '&copy; <a href="http://osm.org">OpenStreetMap</a> contributors, &copy; <a href="https://carto.com/">CARTO</a>',
    10 
    11       // css filter
    12       cssFilter : 'sepia(100%) invert(90%)'
    13     })
    14   });
    复制代码

    15. marker 

    复制代码
     1  var point = new maptalks.Marker(
     2     [-0.113049, 51.498568],
     3     {
     4       visible : true,
     5       editable : true,
     6       cursor : 'pointer',
     7       shadowBlur : 0,
     8       shadowColor : 'black',
     9       draggable : false,
    10       dragShadow : false, // display a shadow during dragging
    11       drawOnAxis : null,  // force dragging stick on a axis, can be: x, y
    12       symbol : {
    13         'textFaceName' : 'sans-serif',
    14         'textName' : 'MapTalks',
    15         'textFill' : '#34495e',
    16         'textHorizontalAlignment' : 'right',
    17         'textSize' : 40
    18       }
    19     }
    20   );
    21 
    22   new maptalks.VectorLayer('vector', point).addTo(map);
    复制代码

    16. multiMarker

    复制代码
     1   var rectangle = new maptalks.Rectangle(center.add(-0.018,0.012), 800, 700, {
     2     symbol: {
     3       lineColor: '#34495e',
     4       lineWidth: 2,
     5       polygonFill: '#34495e',
     6       polygonOpacity: 0.4
     7     }
     8   });
     9   var circle = new maptalks.Circle(center.add(0.002,0.008), 500,{
    10     symbol: {
    11       lineColor: '#34495e',
    12       lineWidth: 2,
    13       polygonFill: '#1bbc9b',
    14       polygonOpacity: 0.4
    15     }
    16   });
    17   var sector = new maptalks.Sector(center.add(-0.013,-0.001), 900, 240, 300, {
    18     symbol: {
    19       lineColor: '#34495e',
    20       lineWidth: 2,
    21       polygonFill: 'rgb(135,196,240)',
    22       polygonOpacity: 0.4
    23     }
    24   });
    25 
    26   var ellipse = new maptalks.Ellipse(center.add(0.003,-0.005), 1000, 600, {
    27     symbol: {
    28       lineColor: '#34495e',
    29       lineWidth: 2,
    30       polygonFill: 'rgb(216,115,149)',
    31       polygonOpacity: 0.4
    32     }
    33   });
    34 
    35   new maptalks.VectorLayer('vector')
    36     .addGeometry([rectangle, circle, sector, ellipse])
    37     .addTo(map);
    复制代码

    17. label

    复制代码
     1  var label = new maptalks.Label('label without box',
     2     [-0.126049, 51.496568],
     3     {
     4       'draggable' : true,
     5       'textSymbol': {
     6         'textFaceName' : 'monospace',
     7         'textFill' : '#34495e',
     8         'textHaloFill' : '#fff',
     9         'textHaloRadius' : 4,
    10         'textSize' : 18,
    11         'textWeight' : 'bold',
    12         'textVerticalAlignment' : 'top'
    13       }
    14     });
    15 
    16   var labelBox = new maptalks.Label('label with box',
    17     [-0.109049, 51.496568],
    18     {
    19       'draggable' : true,
    20       'boxStyle' : {
    21         'padding' : [12, 8],
    22         'verticalAlignment' : 'top',
    23         'horizontalAlignment' : 'left',
    24         'minWidth' : 200,
    25         'minHeight' : 30,
    26         'symbol' : {
    27           'markerType' : 'square',
    28           'markerFill' : 'rgb(135,196,240)',
    29           'markerFillOpacity' : 0.9,
    30           'markerLineColor' : '#34495e',
    31           'markerLineWidth' : 1
    32         }
    33       },
    34       'textSymbol': {
    35         'textFaceName' : 'monospace',
    36         'textFill' : '#34495e',
    37         'textHaloFill' : '#fff',
    38         'textHaloRadius' : 4,
    39         'textSize' : 18,
    40         'textWeight' : 'bold',
    41         'textVerticalAlignment' : 'top'
    42       }
    43     });
    44 
    45   new maptalks.VectorLayer('vector', [labelBox, label]).addTo(map);
    复制代码

    18. text-box

    复制代码
     var textbox = new maptalks.TextBox(
        'This is a textbox, with very long content', // content
        [-0.113049, 51.498568],  // coordinate
        200,                 // width
        90,                  // height
        {
          'draggable' : true,
          'textStyle' : {
            'wrap' : true,          // auto wrap text
            'padding' : [12, 8],    // padding of textbox
            'verticalAlignment' : 'top',
            'horizontalAlignment' : 'right',
            'symbol' : {
              'textFaceName' : 'monospace',
              'textFill' : '#34495e',
              'textHaloFill' : '#fff',
              'textHaloRadius' : 4,
              'textSize' : 18,
              'textWeight' : 'bold'
            }
          },
          'boxSymbol': {
            // box's symbol
            'markerType' : 'square',
            'markerFill' : 'rgb(135,196,240)',
            'markerFillOpacity' : 0.9,
            'markerLineColor' : '#34495e',
            'markerLineWidth' : 1
          }
        });
    
      new maptalks.VectorLayer('vector', textbox).addTo(map);
    复制代码

    19. connected-line

    复制代码
     1   // connector line
     2   var line = new maptalks.ConnectorLine(src, dst, {
     3     showOn : 'always', //'moving', 'click', 'mouseover', 'always'
     4     arrowStyle : 'classic',
     5     arrowPlacement : 'vertex-last',// 'vertex-last', //vertex-first, vertex-last, vertex-firstlast, point
     6     symbol: {
     7       lineColor: '#34495e',
     8       lineWidth: 2
     9     }
    10   });
    11 
    12   layer.addGeometry(src, dst, line);
    13 
    14   var src2 = src.copy().translate(0, -0.01);
    15   var dst2 = dst.copy().translate(0, -0.01);
    16   // Arc Connector Line
    17   var line2 = new maptalks.ArcConnectorLine(src2, dst2, {
    18     arcDegree : 90,
    19     showOn : 'always',
    20     symbol: {
    21       lineColor: '#34495e',
    22       lineWidth: 2
    23     }
    24   });
    25 
    26   layer.addGeometry(src2, dst2, line2);
    复制代码

    20. listen-events

    复制代码
     1 function addListen() {
     2     //mousemove and touchmove is annoying, so not listening to it.
     3     marker.on('mousedown mouseup click dblclick contextmenu touchstart touchend', onEvent);
     4   }
     5   function removeListen() {
     6     //mousemove and touchmove is annoying, so not listening to it.
     7     marker.off('mousedown mouseup click dblclick contextmenu touchstart touchend', onEvent);
     8   }
     9 
    10   var events = [];
    11 
    12   function onEvent(param) {
    13     events.push(param);
    14     var content = '';
    15     for (var i = events.length - 1; i >= 0; i--) {
    16       content += events[i].type + ' on ' +
    17         events[i].coordinate.toArray().map(function (c) { return c.toFixed(5); }).join() +
    18         '<br>';
    19     }
    20     document.getElementById('events').innerHTML = '<div>' + content + '</div>';
    21     //return false to stop event propagation
    22     return false;
    23   }
    复制代码
  • 相关阅读:
    躺着的人
    (转载)CentOS查看系统信息|CentOS查看命令
    (转载)重新介绍 JavaScript(JS 教程)
    (转载)Java 容器 & 泛型:四、Colletions.sort 和 Arrays.sort 的算法
    (转载)Java 容器 & 泛型:三、HashSet,TreeSet 和 LinkedHashSet比较
    (转载)Java 容器 & 泛型:二、ArrayList 、LinkedList和Vector比较
    (转载)Java 容器 & 泛型:一、认识容器
    (转载)Python IDLE reload(sys)后无法正常执行命令的原因
    jmete 取配置文件的行数(二)
    jmete 取配置文件的行数(一)
  • 原文地址:https://www.cnblogs.com/googlegis/p/14718485.html
Copyright © 2020-2023  润新知