Googleマップで生成したタイルをリーフレットで静的APIを使用しようとしています(インターネット接続なしでオフラインで使用されるため事前にタイルを生成する必要があります)。 https://maps.googleapis.com/maps/api/staticmap?center=54.217,-4.5373&zoom=8&size=640x640&maptype=roadmap正しくGoogleマップの静的タイルをリーフレットで使用する方法
得タイル:
例えば、ズームレベル8と緯度/経度(54.217、-4.5373)でマン島を中心640x640タイルを作成するために、私は、次のリクエストのURLを使用してい以下に示します。
次は私がリーフレットで、このタイルを使用し、次のコードでタイルの中心にマーカーを追加したい:
<html>
<header>
<link rel="stylesheet" href="https://unpkg.com/[email protected]/dist/leaflet.css" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script src="http://localhost/leaflet.js"></script>
<style>
#map {height: 640px; width:640px;}
</style>
</header>
<body>
<div id="map"></div>
<script type="text/javascript">
$(document).ready(function() {
// Handler for .ready() called.
console.log("document ready!");
var map = L.map('map').setView([54.217, -4.5373], 8);
L.tileLayer('http://localhost/staticmap.png', {
attribution: 'Copyright Google Maps',
tileSize: 640,
minZoom:8,
maxZoom:8,
continuousWorld: false,
nonoWrap: false,
}).addTo(map);
var marker = L.marker([54.217, -4.5373]).addTo(map);
});
</script>
</body>
</html>
しかし、結果のマップは完全に「オフセンタリング」されています(マーカーは人間の島にもあるはずです)。わからない私がここで間違ってやっている何を:
をこれの任意の助けいただければ幸いです!ありがとう!
Googleマップの利用規約の制限事項への解決策と指針 – BigONotation