1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- <!--********************************************************************
- * Copyright© 2000 - 2021 SuperMap Software Co.Ltd. All rights reserved.
- *********************************************************************-->
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="UTF-8">
- <title data-i18n="resources.title_getFeatureByGeometry"></title>
- <script type="text/javascript" src="../js/include-web.js"></script>
- <script type="text/javascript" src="../../dist/ol/include-ol.js"></script>
- </head>
- <body style=" margin: 0;overflow: hidden;background: #fff;width: 100%;height:100%; position: absolute;top: 0;">
- <div id="map" style="width: 100%;height:100%"></div>
- <script type="text/javascript">
- var map, vectorLayer, resultLayer,
- baseUrl = (window.isLocal ? window.server : "https://iserver.supermap.io")+"/iserver/services/map-world/rest/maps/World",
- url = (window.isLocal ? window.server : "https://iserver.supermap.io")+"/iserver/services/data-world/rest/data";
- map = new ol.Map({
- target: 'map',
- controls: ol.control.defaults({attributionOptions: {collapsed: false}})
- .extend([new ol.supermap.control.Logo()]),
- view: new ol.View({
- center: [0, 0],
- zoom: 3,
- projection: 'EPSG:4326',
- multiWorld: true
- })
- });
- var layer = new ol.layer.Tile({
- source: new ol.source.TileSuperMapRest({
- url: baseUrl
- }),
- projection: 'EPSG:4326'
- });
- map.addLayer(layer);
- query();
- function query() {
- var polygon = new ol.geom.Polygon([[[0, 0], [-10, 30], [-30, 0], [0, 0]]]);
- var polygonSource = new ol.source.Vector({
- features: [new ol.Feature(polygon)],
- wrapX: false
- });
- vectorLayer = new ol.layer.Vector({
- source: polygonSource,
- style: new ol.style.Style({
- stroke: new ol.style.Stroke({
- color: 'red',
- width: 3
- }),
- fill: new ol.style.Fill({
- color: 'rgba(0, 0, 255, 0.1)'
- })
- })
- });
- map.addLayer(vectorLayer);
- var geometryParam = new SuperMap.GetFeaturesByGeometryParameters({
- datasetNames: ["World:Countries"],
- geometry: polygon,
- spatialQueryMode: "INTERSECT"
- });
- new ol.supermap.FeatureService(url).getFeaturesByGeometry(geometryParam, function (serviceResult) {
- var vectorSource = new ol.source.Vector({
- features: (new ol.format.GeoJSON()).readFeatures(serviceResult.result.features),
- wrapX: false
- });
- resultLayer = new ol.layer.Vector({
- source: vectorSource,
- });
- map.addLayer(resultLayer);
- });
- }
- function clearLayer() {
- if (vectorLayer) {
- map.removeLayer(vectorLayer);
- }
- if (resultLayer) {
- map.removeLayer(resultLayer);
- }
- }
- </script>
- </body>
- </html>
|