2013-12-18 3 views
0

Использование jVectorMap У меня есть карта Соединенных Штатов, после чего вы нажимаете состояние, а затем появляется всплывающее окно для отображения этого отдельного состояния.jQuery jVectorMap Динамическая карта Загрузка

Всплывающее загружен с помощью AJAX (не используя JQuery) и происходит следующее:

  1. Скрипт выполняется для отображения. Это действительно длинный файл, но это все часть следующего:

    $ .fn.vectorMap («addMap», ....

  2. Сценарии для остальной части всплывающего окна, расположенные дальше .

    вар карта = новый jvm.WorldMap ({ контейнер: $ ('stateMap '), карта: 'Индиане', BackgroundColor:' ни', zoomOnScroll: ложь, серии: { регионы : [{ атрибут: 'fill', normalizeFunction: 'polyomial', }] } });

  3. Это выполняется и дает следующее сообщение об ошибке:

    Ошибка: Попытка использовать карту, которая не была загружена: Индиан

я могу загрузить все карты, прежде чем любые из вызовов AJAX но я бы предпочел не загружать сразу 51 карту.

ответ

0

В конце концов я обошел необходимость использования функции vectorMap. И хотя мне хотелось бы узнать, как это сделать на самом деле, я, тем не менее, доволен тем, что у меня получилось.

Я решил добавить функцию addMap в объект jvm. В начале это выглядит следующим образом:

var jvm={addMap:function(n,m){jvm.WorldMap.maps[n]=m},//... 

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

jvm.addMap(mapName,{mapData}); 
Смежные вопросы