在新窗口中使用setPanel()显示文本方向

时间:2014-01-14 15:07:00

标签: google-maps window panel

我正在尝试在一个新窗口中显示directionsPanel,但我似乎无法弄明白。

这是将面板设置为我的HTML中名为“directions-panel”的(隐藏)div的功能。

var directionsDisplay 
var directionsService = new google.maps.DirectionsService();

function initialize() {

var positie = new google.maps.LatLng(51.25584,5.68196);

directionsDisplay = new google.maps.DirectionsRenderer();

var mapOptions = {
zoom: 10,
center: positie,
mapTypeId: google.maps.MapTypeId.ROADMAP,
mapTypeControl: false
};

var map = new google.maps.Map(document.getElementById('map'),
  mapOptions);
directionsDisplay.setMap(map);
directionsDisplay.setPanel(document.getElementById('directions-panel'));
}

代码工作正常,但我希望它在新窗口中打开。像我猜的弹出窗口一样排序。有谁知道怎么做?

1 个答案:

答案 0 :(得分:0)

基本工作流程为:

  //open a window
panel=window.open('about:blank','panel','width=200,height=300,scrollbars=yes');
  //create a document inside te window
panel.document.open();
panel.document.write('<body/>');
panel.document.close();
  //set the panel
directionsDisplay.setPanel(panel.document.body);
  //bring window into front
panel.focus();

问题:

  1. 根据您的应用程序,浏览器的弹出窗口阻止程序可能会阻止此弹出窗口
  2. 在IE中根本不起作用,因为它不允许在文档之间移动节点(有实现它的方法,但它们似乎没有像API那样实现)。
  3. 我建议使用类似可拖动的Lightbox或(jQuery)对话框来显示面板