如何识别图钉在当前 view/zoom 的 bingMaps 中是否可见?如果不可见 setView 到图钉的位置?

How to identify if the pushpin is visible in the current view/zoom of bingMaps or not? if not visible setView to Location of the pushpin?

我正在使用 Bing Maps V8,根据要求,我必须 move/pan bing 地图来设置图钉的可见性。根据图钉位置,我们可以直接设置视图,如下所示,但只有当 bing 地图的当前视图没有图钉可见时,我才 adjust/move bing 地图肉眼。

this.map.setView({
     center: new Microsoft.Maps.Location(pin.lat, pin.long),
});

能否请您分享您对如何识别图钉在当前视图中是否可见的想法?

问候并提前致谢。

获取地图的边界框,然后检查它是否包含您的图钉位置。如果它不更新地图视图。这是执行此操作的代码块。

var map = new Microsoft.Maps.Map(document.getElementById('myMap'), {});
var pushpin = new Microsoft.Maps.Pushpin(new Microsoft.Maps.Location(45, -110), null);
map.entities.push(pushpin);

//Get the bounding box of the current map view.
var bounds = map.getBounds();

//Check to see if the bounding box contains the pushpins location. 
//And if it doesn't, center the map.
if(!bounds.contains(pushpin.getLocation())) {
    map.setView({
        center: pushpin.getLocation()
    });
}