ソースファイルを表示

sample/sample_cross_url.htm

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1" /> <title>Leaflet URL欄に地図の位置情報を反映</title> <link rel="stylesheet" href="js/leaflet.css" /> <link rel="stylesheet" href="js/leaflet_url.css" /> <script src="js/leaflet.js"></script> <script src="js/leaflet_url.js"></script> <style type="text/css"> #map_container {     position:absolute;     top:0; left:0; right:0; bottom:0; } </style> <script type="text/javascript" charset="UTF-8"> function init() {     let map = L.map('map_container');     map.setView([37,136.5], 6); // 日本を表示     L.tileLayer("https://cyberjapandata.gsi.go.jp/xyz/std/{z}/{x}/{y}.png",{         attribution: "<a href='https://maps.gsi.go.jp/development/ichiran.html'"         + " target='_blank'>地理院標準地図</a>"     }).addTo(map); // 地理院地図を表示     let cross = L.divIcon({ // CSSを使ったDivIconを作成         className: 'cross',         bgPos: [18, 18]     });     let crossMark = L.marker(map.getCenter(), { // マーカとして登録         icon: cross, zIndexOffset: 100, interactive: false     }).addTo(map);     map.on('move', function() { // mousemoveイベントでマーカを移動         crossMark.setLatLng(map.getCenter());     });     let url = L.urlHandler(map); // リンク書換機能の追加     if (typeof url._zoom != 'undefined') { // 位置情報付URL         map.setView([url._lat, url._lng], url._zoom);     } } </script> </head> <body onload="init()"> <div id="map_container"></div> </body> </html>