<!DOCTYPE html> <html> <head> <title>Tissot Indicatrix</title> <link rel="stylesheet" href="https://openlayers.org/en/v4.0.1/css/ol.css" type="text/css"> <!-- The line below is only needed for old environments like Internet Explorer and Android 4.x --> <script src="https://cdn.polyfill.io/v2/polyfill.min.js?features=requestAnimationFrame,Element.prototype.classList,URL"></script> <script src="https://openlayers.org/en/v4.0.1/build/ol.js"></script> </head> <body> <h4>EPSG:4326</h4> <div id="map4326" class="map"></div> <h4>EPSG:3857</h4> <div id="map3857" class="map"></div> <script> var vectorLayer4326 = new ol.layer.Vector({ source: new ol.source.Vector() }); var vectorLayer3857 = new ol.layer.Vector({ source: new ol.source.Vector() }); var map4326 = new ol.Map({ layers: [ new ol.layer.Tile({ source: new ol.source.TileWMS({ url: 'https://ahocevar.com/geoserver/wms', params: { 'LAYERS': 'ne:NE1_HR_LC_SR_W_DR' } }) }), vectorLayer4326 ], target: 'map4326', view: new ol.View({ projection: 'EPSG:4326', center: [0, 0], zoom: 2 }) }); var map3857 = new ol.Map({ layers: [ new ol.layer.Tile({ source: new ol.source.TileWMS({ url: 'https://ahocevar.com/geoserver/wms', params: { 'LAYERS': 'ne:NE1_HR_LC_SR_W_DR' } }) }), vectorLayer3857 ], target: 'map3857', view: new ol.View({ center: [0, 0], zoom: 2 }) }); var wgs84Sphere = new ol.Sphere(6378137); var radius = 800000; var x, y; for (x = -180; x < 180; x += 30) { for (y = -90; y < 90; y += 30) { var circle4326 = ol.geom.Polygon.circular(wgs84Sphere, [x, y], radius, 64); var circle3857 = circle4326.clone().transform('EPSG:4326', 'EPSG:3857'); vectorLayer4326.getSource().addFeature(new ol.Feature(circle4326)); vectorLayer3857.getSource().addFeature(new ol.Feature(circle3857)); } } </script> </body> </html>
OpenLayers示例代码:天梭指标
Copyright © Since 2014.
开源地理空间基金会中文分会
吉ICP备05002032号
Powered by TorCMS