Управление маркером карты Google в родительском окне изнутри iframe на той же странице - PullRequest
0 голосов
/ 21 октября 2011

Я запускаю следующий 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. Я получаю две переменные из iframe Fancybox, которые я передаю скрытым входам в родительском окне (содержащем вкладку с картой) следующим образом:

$('form:visible .inpLat', window.parent.document).val(myCoords.lat());
$('form:visible .inpLng', window.parent.document).val(myCoords.lng());

У меня вопрос, как я могу передать эти две переменные на карту на родительской странице и использовать их для обновления местоположения маркера на карте?

1 Ответ

1 голос
/ 24 октября 2011

Я понял это; оказывается, вы можете ссылаться на функцию, доступную для родительской страницы, поставив перед ней parent., например:

parent.placeMarker(myCoords.lat(), myCoords.lng());
...