#jquery #jquery-ui #google-maps #dom #fancybox
#jquery #jquery-пользовательский интерфейс #google-карты #dom #fancybox
Вопрос:
Я запускаю следующий JavaScript изнутри <script>
элемента для инициализации карты Google на странице, которую я загружаю на вкладке пользовательского интерфейса jQuery через AJAX:
var tab_index = $('#tabs').tabs('option', 'selected');
var myOptions = {
zoom: 8,
center: new google.maps.LatLng(18.735693,-70.162651),
mapTypeId: 'roadmap',
mapTypeControlOptions: {style: google.maps.MapTypeControlStyle.DROPDOWN_MENU}
}
MapID = $('.site_map:visible').attr('id');
if (MapID !== 'map-new') {
var map_id = 'map-' tab_index;
$('.site_map:visible').attr('id', map_id);
var tab_map = new google.maps.Map(document.getElementById(map_id), myOptions);
placeMarker($('.site_details:visible .inpLat').val(), $('.site_details:visible .inpLng').val(), tab_map);
}
После этого я загружаю iframe через Fancybox. Я получаю две переменные из фрейма Fancybox iframe, которые я передаю скрытым входам в родительском окне (содержащем вкладку с картой) следующим образом:
$('form:visible .inpLat', window.parent.document).val(myCoords.lat());
$('form:visible .inpLng', window.parent.document).val(myCoords.lng());
Мой вопрос в том, как я могу передать эти две переменные на карту на родительской странице и использовать их для обновления местоположения маркера на карте?
Ответ №1:
Я понял это; оказывается, вы можете ссылаться на функцию, доступную для родительской страницы, поместив parent.
перед ней вот так:
parent.placeMarker(myCoords.lat(), myCoords.lng());