Bing Maps v8 — поведение привязки infobox изменилось

В Bing Maps v8 я вижу различное поведение между выпуском и замороженными ветвями в отношении привязки infoboxes.

У меня есть значки на карте, которые я нажимаю, чтобы открыть infobox в месте, которое я щелкнул.

hhInfobox = new Microsoft.Maps.Infobox(new Microsoft.Maps.Location(0, 0), { visible: false, showPointer: false });
....
Microsoft.Maps.Events.addHandler(pushpin, 'click', showHouseholdInfobox);
...
function showHouseholdInfobox(e) {
    ....
    hhInfobox.setOptions({
        visible: true, title: e.target.hhTitle, description: targetHtml
    });
    hhInfobox.setLocation(e.target.getLocation());
}

Когда я нажимаю на этот значок (i.stack.imgur.com/nam9Q.png),

infobox появляется здесь в замороженной ветви (i.stack.imgur.com/1fSDi.png) (немного южнее верхнего левого края infobox закреплен, чтобы нажать местоположение)

но здесь в ветке выпуска (i.stack.imgur.com/mLQ3k.png) (нижний левый от infobox закреплен, чтобы нажать местоположение).

Поведение ветви выпуска является проблемой, потому что infobox может быть высотой 2100 пикселей, и когда я устанавливаю максимальную высоту 600, верхняя часть остается фиксированной, в то время как нижняя перемещается вверх на 1500 пикселей, и пользователь должен прокрутить несколько страниц, чтобы найти infobox.

Итак, мои вопросы (1) является ли это новое поведение ошибкой или функцией? И (2) если это функция, каков лучший способ закрепить верхнюю левую часть infobox к местоположению щелчка?

Использование setHtmlContent может быть ответом. (msdn.microsoft.com/en-us/library/mt712643.aspx) говорит: «когда пользовательский HTML используется для представления infobox, infobox закреплен в левом нижнем углу», но я обнаружил, что он закрепляется в левом верхнем углу (i.stack.imgur.com/bvc7l.png), который является то, что я хочу, хотя мне пришлось бы играть с HTML.

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

1 ответ

  1. Выпуск и замороженные ветви очень отличаются в этот момент. Филиал выпуска обновляется ежемесячно, а замороженный филиал обновляется один раз в год. Большинство компаний должны и используют основной филиал выпуска. Замороженный филиал в первую очередь для критически важных приложений, таких как 911 центров обработки вызовов или аварийных служб сценариев, которые хотят более медленный цикл выпуска, как релизы, когда сбои, скорее всего, произойдет, зная, что новые функции и исправления ошибок не будут исправлены в этой версии в течение длительного времени. В последний раз замороженная ветка была обновлена, когда V8 был выпущен в июне. С тех пор было выпущено много новых функций и исправлений ошибок, которые не находятся в замороженной ветви.

    Для полноты, экспериментальный филиал обновляется несколько раз в день. Дополнительную документацию по системе ветвления в Bing Maps V8 можно найти здесь: https://msdn.microsoft.com/en-us/library/mt712554.aspx

    Что касается позиционирования infobox, можно управлять привязкой с помощью свойства anchor класса infobox. По умолчанию, когда указатель скрыт и привязка не предусмотрена, infobox привязывает его нижний левый угол к местоположению. Я пробовал различные значения контента и maxHeight, и он всегда отображается правильно.