У меня есть локальный сервер карт, который отображает файл mbtiles в браузере, и я пытаюсь получить доступ к исходным файлам, сгенерированным им и загруженным в документ.Как получить доступ к исходным путям для загруженных фрагментов карты
До сих пор я был в состоянии получить мои руки на соответствующем HTMLCollection с методами document.querySelector
и document.getElementsByClassName()
:
var collection =
document.querySelector(".featured")
.getElementsByClassName("leaflet-tile");
console.log(collection);
я получаю следующий журнал на Firebug:
0 img.leaflet-tile.leaflet-tile-loaded ./tiles/b...1540.png
1 img.leaflet-tile.leaflet-tile-loaded ./tiles/b...1540.png
2 img.leaflet-tile.leaflet-tile-loaded ./tiles/b...1541.png
3 img.leaflet-tile.leaflet-tile-loaded ./tiles/b...1541.png
4 img.leaflet-tile.leaflet-tile-loaded ./tiles/b...1540.png
5 img.leaflet-tile.leaflet-tile-loaded ./tiles/b...1540.png
6 img.leaflet-tile.leaflet-tile-loaded ./tiles/b...1541.png
7 img.leaflet-tile.leaflet-tile-loaded ./tiles/b...1541.png
8 img.leaflet-tile.leaflet-tile-loaded ./tiles/b...1540.png
9 img.leaflet-tile.leaflet-tile-loaded ./tiles/b...1540.png
10 img.leaflet-tile.leaflet-tile-loaded ./tiles/b...1541.png
11 img.leaflet-tile.leaflet-tile-loaded ./tiles/b...1541.png
12 img.leaflet-tile.leaflet-tile-loaded ./tiles/b...1540.png
13 img.leaflet-tile.leaflet-tile-loaded ./tiles/b...1541.png
length 14
__proto__ HTMLCollection { item=item(), namedItem=namedItem()}
Я попытался все, что я мог вспомнить, чтобы получить пути для файлов png. Например:
var array = [];
for (var i = 0; i < collection.length; i++) {
array.push([
collection[i]
]);
console.log(collection[i]);
}
console.log("lenght of collection is: " + collection.length);
console.dir("array is: " + array);
На моей консоли я получаю следующее:
lenght of collection is: 0
array is: undefined
длина нуля и ничего на моем массиве. Очевидно, что я делаю что-то не так на моей итерации, но я не могу понять это. Что мне здесь не хватает? Заранее спасибо!
стороне сервера Я использую PHP Tileserver. Это, как я экземпляр объекта карты:
$(document).ready(function() {
window.map = new L.map('map', {
zoomControl: false,
})
.setView([40.6420, -73.7854], 12);
var mapTiles = './tiles/bojb/{z}/{x}/{y}.png';
L.tileLayer(
mapTiles, {
maxZoom: 16,
minZoom: 12
}).addTo(map);
Я вижу этот вопрос также на https://gis.stackexchange.com/questions/180976/how-to-access-png-tiles-loaded-in- the-browser – IvanSanchez
В будущем, пожалуйста, не перекрестно отправляйте вопросы на несколько сайтов обмена Stack; вместо этого разместите свой вопрос на одном и дождитесь ответа. Если позже вы узнаете, что ваш вопрос задан на * неправильном сайте, отметьте его и попросите модератора перенести его. – Matt