Я пытаюсь использовать плитки, которые я создал с помощью API-интерфейсов google maps, с помощью листовки (мне нужно сгенерировать некоторые фрагменты заранее, потому что они будут использоваться офлайн без подключения к Интернету).Как правильно использовать google maps статические плитки с листом
Например, чтобы создать 640x640 плитку с центром на острове Мэн в LAT/LNG (54.217, -4.5373) с уровнем масштабирования 8, я использую следующий запрос URL: https://maps.googleapis.com/maps/api/staticmap?center=54.217,-4.5373&zoom=8&size=640x640&maptype=roadmap
В результате плитка как показано ниже:
Далее я хочу использовать эту плитку с листовкой и добавить маркер в центре плитки со следующим кодом:
<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 Maps – BigONotation