Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/420.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Bing地图在视图更改时隐藏信息框_Javascript_Reactjs_Bing Maps - Fatal编程技术网

Javascript Bing地图在视图更改时隐藏信息框

Javascript Bing地图在视图更改时隐藏信息框,javascript,reactjs,bing-maps,Javascript,Reactjs,Bing Maps,我正在使用Bing地图来显示一些由用户创建的图钉和信息框,它工作正常。但是,当用户在视图之间切换时,例如从道路视图切换到卫星视图或鸟瞰视图时,打开的信息框将消失。我有没有办法处理这个事件并保持infobox打开?下面是一些代码 //For showing location const showLocation = (location, onInfoBoxClick, pushpinClick) => { clearTimeout(timeoutHandler); hideInfobox(

我正在使用Bing地图来显示一些由用户创建的
图钉
信息框
,它工作正常。但是,当用户在视图之间切换时,例如从
道路视图
切换到
卫星视图
鸟瞰视图
时,打开的
信息框
将消失。我有没有办法处理这个事件并保持
infobox
打开?下面是一些代码

//For showing location 
const showLocation = (location, onInfoBoxClick, pushpinClick) => {
clearTimeout(timeoutHandler);
hideInfobox();
const latVal = location.get('lat');
const longVal = location.get('long');
const locationId = location.get('id');
const pinLocation = new Microsoft.Maps.Location(latVal, longVal);
const infoBoxContainer = document.getElementById('infoBoxContainer');
const offsetWidth = infoBoxContainer.offsetWidth;
const offsetHeight = infoBoxContainer.offsetHeight;

const pushpinInfoBoxHolder = document.createElement('div');
pushpinInfoBoxHolder.id = 'pushpinInfoBoxHolder';
pushpinInfoBoxHolder.style.width = offsetWidth + 'px';
pushpinInfoBoxHolder.style.height = offsetHeight + 'px';

const infoBoxHTML = infoBoxContainer.innerHTML;

const pinInfoBox = new Microsoft.Maps.Infobox(
  pinLocation,
  {
    visible: true,
    htmlContent: pushpinInfoBoxHolder.outerHTML,
    // the infobox needs to be shifted just a slight bit more than half it's width,
    // hence the X cordinate value, The Y co-ordinate value is a number arrived by
    // trial and is constant
    offset: new Microsoft.Maps.Point(-(offsetWidth / 2 + 2), 58)
  }
);
我试图用下面的处理程序捕获事件,但未成功

Microsoft.Maps.Events.addHandler(map, 'viewchangeend', () => {//showinfobox function}

你试过什么?我们需要看一些代码。查看你能显示你如何将图钉添加到地图的代码吗?当前的Bing地图web控件都没有这样做。你用的是什么版本?你试过什么?我们需要看一些代码。查看你能显示你如何将图钉添加到地图的代码吗?当前的Bing地图web控件都没有这样做。你用的是什么版本?