Как определить, видна ли кнопка в текущем режиме просмотра/масштабирования изображений или нет? если не видно, установите вид на местоположение кнопки?

#javascript #bing-maps

Вопрос:

Я использую Bing Maps V8, и, согласно запросу, я должен перемещать/перемещать карту bing, чтобы установить видимость кнопки. Основываясь на местоположении кнопки, мы можем напрямую настроить вид, как показано ниже, но я настроил/переместил карту bing только в том случае, если в текущем представлении карт bing кнопка не видна невооруженным глазом.

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

Не могли бы вы поделиться своими мыслями о том, как определить, виден ли pin-код в текущем представлении или нет?

С уважением и заранее благодарю вас.

Ответ №1:

Получите ограничивающую рамку карты, затем проверьте, содержит ли она ваше местоположение кнопок. Если это не обновит представление карты. Вот блок кода, который делает это.

 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()
    });
}