背景地図としてタイルレイヤのURLを指定するのではなく、
任意の画像を利用できる。
ImageOverlay - Leaflet.js Docs
緯度経度0で簡単に imageoverlay.html
酒田中心部 imageoverlay2.html
<!DOCTYPE html> <html lang="ja"> <head> <title>マップ: ImageOverlay!</title> <meta name="viewport" content="width=device-width, initial-scale=1" /> <link rel="stylesheet" href="../src/leaflet.css" /> <script src="../src/leaflet.js"></script> <style type="text/css"> <!-- div#imagemap {width: 90vw; height: 80vh; margin: 0 auto;} --> </style> </head> <body> <h1>ImageOverlay</h1> <div id="imagemap"></div> <script type="text/javascript" src="../src/imageoverlay.js" charset="utf-8"></script> </body> </html>
// 例: ImageOverlay // 画像が3:2なので緯度経度も分かりやすく0を基点に(約)3:2に var leftBottom = [0, 0], rightTop = [0.002, 0.003]; var map = L.map("imagemap").setView([0.001, 0.0015], 16); map.setMaxBounds([leftBottom, rightTop]); //写真外にスクロールしない map.setMinZoom(18).setMaxZoom(22); //ズーム倍率範囲設定 var imageUrl = '../src/images/ajisai.jpg', imageBounds = [leftBottom, rightTop]; L.imageOverlay(imageUrl, imageBounds).addTo(map); var gaku = L.marker([0.00127, 0.00144]).bindPopup("ガクです").addTo(map) var sora = L.marker([0.00173, 0.00036]).bindPopup("空です").addTo(map) var leaf = L.marker([0.00031, 0.00216]).bindPopup("葉っぱです").addTo(map) // クリックした緯度経度を出すようにしておくと marker 位置が探しやすい map.on("click", function(e) { alert(e.latlng); });