Diskuze: OpenLayers - jak ukázat popup informační okno po kliknutí na marker?
V předchozím kvízu, Online test znalostí JavaScript, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 3 zpráv z 3.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí JavaScript, jsme si ověřili nabyté zkušenosti z kurzu.
Máš pravdu, pracuje se tam s funkcemi a já to potřebuji to potřebuji
začlenit do svého příkladu, proto jsem zkusil jiný příklad
Ten jsem jako vždy nejprv otestoval sámo sobě, tak jak jsem ho našel. Ale
zde se mi po kliknutí žádné okno neotevře...
popup.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>OpenLayers - Popup</title>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no, width=device-width">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/openlayers/openlayers.github.io@master/en/v6.2.1/css/ol.css" type="text/css">
<link rel="stylesheet" href="../src/ol-popup.css" />
<link rel="stylesheet" href="popup.css" />
</head>
<body>
<div id="map"></div>
<script src="https://cdn.jsdelivr.net/gh/openlayers/openlayers.github.io@master/en/v6.2.1/build/ol.js" type="text/javascript"></script>
<script src="../dist/ol-popup.js"></script>
<script src="popup.js"></script>
</body>
</html>
*
popup.js*
var map = new ol.Map({
target: 'map',
layers: [
new ol.layer.Tile({
source: new ol.source.OSM()
})
],
view: new ol.View({
center: ol.proj.transform([-0.92, 52.96], 'EPSG:4326', 'EPSG:3857'),
zoom: 6
})
});
var popup = new Popup();
map.addOverlay(popup);
map.on('singleclick', function(evt) {
var prettyCoord = ol.coordinate.toStringHDMS(ol.proj.transform(evt.coordinate, 'EPSG:3857', 'EPSG:4326'), 2);
popup.show(evt.coordinate, '<div><h2>Coordinates</h2><p>' + prettyCoord + '</p></div>');
});
popup.css
html, body {
height: 100%;
padding: 0;
margin: 0;
font-family: sans-serif;
font-size: small;
}
#map {
width: 100%;
height: 100%;
}
Zobrazeno 3 zpráv z 3.