На самом деле есть решение вашей проблемы.Первая ошибка здесь заключается в том, что контекст в новом окне отличается от старого окна.
var w = window.open('', '_blank', options);
w - это объект Window, отличный от window .Пустой URL создает пустую страницу "about: blank", и, так как нет домена, у вас есть доступ для чтения / записи к w.document .Так что-то вроде этого:
function newWindowMap(latitude, longitude) {
var w = window.open('', '_blank'); //you must use predefined window name here for IE.
var head = w.document.getElementsByTagName('head')[0];
//Give some information about the map:
w.document.createElement('input');
//Place ID, value and type='hidden' here
var loadScript = w.document.createElement('script');
loadScript.src = '...'; //Link to script that load google maps from hidden elements.
var googleMapScript = w.document.createElement('script');
googleMapScript.src = '...'; //Link to google maps js, use callback=... URL parameter to setup the calling function after google maps load.
head.appendChild(loadScript);
head.appendChild(googleMapScript);
}
Теперь весь loadScript будет в контексте нового окна, и карта Google будет вызывать функцию из него, когда он завершит загрузку.Вы можете динамически создавать новые div и использовать их для создания карты.