File: popup.html

package info (click to toggle)
leaflet 1.7.1~dfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 16,972 kB
  • sloc: javascript: 16,627; makefile: 49; sh: 26; xml: 23
file content (85 lines) | stat: -rw-r--r-- 2,332 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
<!DOCTYPE html>
<html>
<head>
  <title>Leaflet debug page</title>

  <link rel="stylesheet" href="../../dist/leaflet.css" />

  <meta name="viewport" content="width=device-width, initial-scale=1.0">

  <link rel="stylesheet" href="../css/screen.css" />

  <script src="../leaflet-include.js"></script>
</head>
<body>

  <div id="map"></div>

  <script>

    var osmUrl = 'https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png',
      osmAttrib = '&copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors',
      osm = L.tileLayer(osmUrl, {maxZoom: 18, attribution: osmAttrib});

    var map = L.map('map')
        .setView([50.5, 30.51], 15)
        .addLayer(osm);

    function getRandomLatLng(llbounds) {
      var s = llbounds.getSouth(),
          n = llbounds.getNorth(),
          w = llbounds.getWest(),
          e = llbounds.getEast();

      return L.latLng(
        s + (Math.random() * (n - s)),
        w + (Math.random() * (e - w))
      )
    }

    var features = new L.FeatureGroup([
      L.marker(getRandomLatLng(map.getBounds())),
      L.polyline([
        getRandomLatLng(map.getBounds()),
        getRandomLatLng(map.getBounds()),
        getRandomLatLng(map.getBounds())
      ]),
      L.polygon([
        getRandomLatLng(map.getBounds()),
        getRandomLatLng(map.getBounds()),
        getRandomLatLng(map.getBounds()),
        getRandomLatLng(map.getBounds())
      ])
    ]);

    features.bindPopup(function(layer){
      return 'Leaflet ID is ' + features.getLayerId(layer);
    }).addTo(map);

    var content = L.DomUtil.create('p', 'custom-popup');
    content.innerText = 'I\'m a red polygon';

    var polygon = L.polygon([
      getRandomLatLng(map.getBounds()),
      getRandomLatLng(map.getBounds()),
      getRandomLatLng(map.getBounds()),
      getRandomLatLng(map.getBounds())
    ], {
      color: 'red'
    }).bindPopup(content).addTo(map);

    var polyline = L.polyline([
      getRandomLatLng(map.getBounds()),
      getRandomLatLng(map.getBounds()),
      getRandomLatLng(map.getBounds())
    ], {
      color: 'red'
    }).bindPopup('I\'m a red polyline').addTo(map);

    var marker = L.circleMarker(getRandomLatLng(map.getBounds()), {
      color: 'red',
      radius: 25
    }).bindPopup('I\'m a red circle').addTo(map);
  </script>
</body>
</html>