Как получить переменную карты с родительской страницы?
У меня есть листовка с картой, экспортированная из QGIS. Я не хочу изменять код внутри этой экспортированной папки.
Я успешно встроил карту в другую страницу, используя <iframe>
тег.
Теперь я хочу, чтобы в коде javascript моей родительской страницы получить переменную карты, чтобы я не мог настроить ее параметры (положение, границы и т. Д.)
Как я могу получить эту переменную карты в моем родительском javascript странице?
родитель
<iframe id = 'iframeid'
src="/qgis/index.html"
scrolling="no"
frameborder="0"
style="height: 100vh;
width: 100%">
</iframe>
<script>
var map = ????
</script>
ребенок (qgis-экспортированная карта листовки)
<script>
var map = L.map('map', {zoomControl:true, maxZoom:20, minZoom:15});
/* I need te following lines inside the parent file. */
var lat = -0.017;
var lng = 0.015;
var zoom = 16;
map.setView([lat, lng], zoom);
</script>
1 ответ
Если map
это глобальная переменная, ссылающаяся на карту Leaflet в вашем iframe
затем на родительской странице выполните
var map = document.getElementsByTagName("iframe")[0].contentWindow.map // supposing you only have one iframe, else select it by its id or something like this
чтобы получить к нему доступ.
Обратите внимание, что это будет работать только если оба iframe
а также parent
общий домен, протокол и хост.