Сделайте виртуальную землю infobox, появляются по щелчку вместо парения?

Я реализовал вашу проблему с простым следованием, вы можете попробовать это.

Примечание: В последней версии InputMask добавлен стиль индийской валюты. Проверьте последнюю версию здесь. | 1110] Рабочий пример скрипки: https://jsfiddle.net/manektech/t810f3oa/1/

7
задан Chilledrat 8 May 2012 в 18:03
поделиться

1 ответ

Вы можете выполнить то, что описываете, используя события ... обратите внимание, что я использую Virtual Earth 6.2.

Хитрость заключается в подавлении события onmouseover и подписке на onclick. мероприятие. Когда вы выяснили, нажал ли пользователь на фигуру или нет, вы можете вызвать метод ShowInfoBox на элементе управления карты, чтобы заставить его отображать информационное окно.

А вот и кодz =)

// Begin by supressing the onmouseover event. Returning true 
// from an event handler disables the default Virtual Earth action
map.AttachEvent('onmouseover', function(e) { if(e.elementID) return true; });

// Subscribe to the onclick event and react whenever we get an element id
map.AttachEvent("onclick", function(e) {

    // elementID is null when someone clicks on the map and not on a shape
    if(e.elementID) {

        var shape = map.GetShapeByID(e.elementID); 
        if(shape) map.ShowInfoBox(shape);
    } 
});

Обратите внимание, что инфобокс покажет, даже если вы щелкните правой кнопкой мыши на форме; чтобы избежать этого, вы должны посмотреть на свойства leftMouseButton или rightMouseButton объекта события .

Ссылки:

1
ответ дан 7 December 2019 в 20:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: