Diferencia entre revisiones de «Widget:OP»
(Página creada con « <html> <head><title>OpenLayers KML Example</title></head> <body> <div id="mapdiv"></div> <script src="https://cdnjs.cloudflare.com/ajax/libs/openlayers/2.11/lib/Op...») |
|||
| (No se muestra una edición intermedia del mismo usuario) | |||
| Línea 1: | Línea 1: | ||
| − | + | <!DOCTYPE html> | |
<html> | <html> | ||
| − | <head><title> | + | <head> |
| + | <title>KML</title> | ||
| + | <link rel="stylesheet" href="https://openlayers.org/en/v5.3.0/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> | ||
| + | |||
| + | </head> | ||
<body> | <body> | ||
| − | + | <div id="map" class="map"></div> | |
| − | + | <div id="info"> </div> | |
| − | + | <script> | |
| − | + | import Map from 'ol/Map.js'; | |
| − | + | import View from 'ol/View.js'; | |
| − | + | import KML from 'ol/format/KML.js'; | |
| − | + | import {Tile as TileLayer, Vector as VectorLayer} from 'ol/layer.js'; | |
| − | + | import BingMaps from 'ol/source/BingMaps.js'; | |
| − | + | import VectorSource from 'ol/source/Vector.js'; | |
| − | + | ||
| − | + | var raster = new TileLayer({ | |
| − | + | source: new BingMaps({ | |
| − | + | imagerySet: 'Aerial', | |
| − | + | key: 'Your Bing Maps Key from http://www.bingmapsportal.com/ here' | |
| − | + | }) | |
| − | + | }); | |
| − | + | ||
| + | var vector = new VectorLayer({ | ||
| + | source: new VectorSource({ | ||
| + | url: 'http://www.wikiexplora.com/images/2/23/Monolito.kmz', | ||
| + | format: new KMZ() | ||
| + | }) | ||
| + | }); | ||
| + | |||
| + | var map = new Map({ | ||
| + | layers: [raster, vector], | ||
| + | target: document.getElementById('map'), | ||
| + | view: new View({ | ||
| + | center: [876970.8463461736, 5859807.853963373], | ||
| + | projection: 'EPSG:3857', | ||
| + | zoom: 10 | ||
| + | }) | ||
| + | }); | ||
| + | |||
| + | var displayFeatureInfo = function(pixel) { | ||
| + | var features = []; | ||
| + | map.forEachFeatureAtPixel(pixel, function(feature) { | ||
| + | features.push(feature); | ||
}); | }); | ||
| − | + | if (features.length > 0) { | |
| − | + | var info = []; | |
| − | + | var i, ii; | |
| − | + | for (i = 0, ii = features.length; i < ii; ++i) { | |
| − | + | info.push(features[i].get('name')); | |
| − | + | } | |
| − | + | document.getElementById('info').innerHTML = info.join(', ') || '(unknown)'; | |
| − | + | map.getTarget().style.cursor = 'pointer'; | |
| − | + | } else { | |
| − | + | document.getElementById('info').innerHTML = ' '; | |
| − | ) | + | map.getTarget().style.cursor = ''; |
| − | + | } | |
| − | + | }; | |
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | map.on('pointermove', function(evt) { | |
| − | + | if (evt.dragging) { | |
| − | + | return; | |
| − | + | } | |
| − | + | var pixel = map.getEventPixel(evt.originalEvent); | |
| − | + | displayFeatureInfo(pixel); | |
| − | + | }); | |
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | map.on('click', function(evt) { | |
| − | + | displayFeatureInfo(evt.pixel); | |
| − | + | }); | |
| − | + | </script> | |
| − | + | </body> | |
| − | + | </html> | |
| − | + | ||
| − | + | ||
| − | < | + | |
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
Revisión actual del 17:09 4 dic 2018
<!DOCTYPE html> <html>
<head> <title>KML</title> <link rel="stylesheet" href="https://openlayers.org/en/v5.3.0/css/ol.css" type="text/css"> <script src="https://cdn.polyfill.io/v2/polyfill.min.js?features=requestAnimationFrame,Element.prototype.classList,URL"></script>
</head> <body>
<script>
import Map from 'ol/Map.js';
import View from 'ol/View.js';
import KML from 'ol/format/KML.js';
import {Tile as TileLayer, Vector as VectorLayer} from 'ol/layer.js';
import BingMaps from 'ol/source/BingMaps.js';
import VectorSource from 'ol/source/Vector.js';
var raster = new TileLayer({
source: new BingMaps({
imagerySet: 'Aerial',
key: 'Your Bing Maps Key from http://www.bingmapsportal.com/ here'
})
});
var vector = new VectorLayer({
source: new VectorSource({
url: 'http://www.wikiexplora.com/images/2/23/Monolito.kmz',
format: new KMZ()
})
});
var map = new Map({
layers: [raster, vector],
target: document.getElementById('map'),
view: new View({
center: [876970.8463461736, 5859807.853963373],
projection: 'EPSG:3857',
zoom: 10
})
});
var displayFeatureInfo = function(pixel) {
var features = [];
map.forEachFeatureAtPixel(pixel, function(feature) {
features.push(feature);
});
if (features.length > 0) {
var info = [];
var i, ii;
for (i = 0, ii = features.length; i < ii; ++i) {
info.push(features[i].get('name'));
}
document.getElementById('info').innerHTML = info.join(', ') || '(unknown)';
map.getTarget().style.cursor = 'pointer';
} else {
document.getElementById('info').innerHTML = ' ';
map.getTarget().style.cursor = ;
}
};
map.on('pointermove', function(evt) {
if (evt.dragging) {
return;
}
var pixel = map.getEventPixel(evt.originalEvent);
displayFeatureInfo(pixel);
});
map.on('click', function(evt) {
displayFeatureInfo(evt.pixel);
});
</script>
</body>
</html>
