イメージオーバーレイ

背景地図としてタイルレイヤのURLを指定するのではなく、 任意の画像を利用できる。
ImageOverlay - Leaflet.js Docs

緯度経度0で簡単に imageoverlay.html

酒田中心部 imageoverlay2.html

imageoverlay.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.js

// 例: 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);
});