信息框位置始终朝向Bing地图中心

时间:2016-12-29 11:42:46

标签: javascript position bing-maps infobox

我正在使用Bing Maps v8,我想让Infobox在它显示的位置变得有点聪明。

这是我所拥有的CodePen。如果将鼠标悬停在图钉上,您会注意到信息框显示在顶部,因此从视图中切断。

function loadMapScenario() {
  var map = new Microsoft.Maps.Map(document.getElementById('myMap'), {
    credentials: 'Your Key Here',
    center: new Microsoft.Maps.Location(51.50632, -0.12714)
  });

  var pinLocation = new Microsoft.Maps.Location(51.663088, -0.204133);
  var pushpin = new Microsoft.Maps.Pushpin(pinLocation, null);
  var infobox = new Microsoft.Maps.Infobox(pinLocation, { title: 'Map Center', description: 'London, UK', visible: false });
  infobox.setMap(map);
  Microsoft.Maps.Events.addHandler(pushpin, 'mouseover', function () { infobox.setOptions({ visible: true }) });
  map.entities.push(pushpin);
}

有没有办法让它变得聪明,以便它始终显示在地图的中心,这样它总是在视野中。

我有found this移动地图,以便信息框在视野内,但这不是我之后的事。 我不希望地图移动,只是信息框显示在地图的中心。

1 个答案:

答案 0 :(得分:2)

有一个自定义的信息框模块可以提供这种确切的功能。它将重新定位自身,以便始终在视野中。您可以在此处找到此模块:http://bingmapsv7modules.codeplex.com/wikipage?title=Custom%20Infobox%20Control

Bing Maps V7和V8支持它。