我正在使用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移动地图,以便信息框在视野内,但这不是我之后的事。 我不希望地图移动,只是信息框显示在地图的中心。
答案 0 :(得分:2)
有一个自定义的信息框模块可以提供这种确切的功能。它将重新定位自身,以便始终在视野中。您可以在此处找到此模块:http://bingmapsv7modules.codeplex.com/wikipage?title=Custom%20Infobox%20Control
Bing Maps V7和V8支持它。