123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- define(['html!templates/menu/legend',
- 'css!styles/menu/legend',
- 'css!styles/popupHtml'
- ], function(tpclayout) {
- var modValue = {
- pictureUrl:null,
- iviewer:null
- };
- var stutas = {
- initialized:false
- };
- function init(options){
- if(!stutas.initialized){
- setLayout();
- bindEvents();
- subscribe();
- }
- modValue.pictureUrl = options.pictureUrl;
- if(modValue.pictureUrl == "undefined"){
- ONEMAP.C.publisher.publish({type:'error',message:'暂无图例'},'noteBar::add');
- } else{
- updateView();
- }
-
- }
-
- function setLayout(){
- $(tpclayout).appendTo($("#wrapper"));
- };
- function updateView(){
- $("#tmaticLegendViewer").show();
- $('#tmaticLegendViewer .modal-body').css({height:$(window).height()/3*2});
- if (modValue.iviewer) {
- modValue.iviewer.iviewer('loadImage', modValue.pictureUrl);
- return false;
- } else {
- modValue.iviewer = $("#tmaticLegendViewerBox").iviewer({
- zoom_max: 200,
- zoom_min: 5,
- zoom: 100,
- src: modValue.pictureUrl,
- update_on_resize: true,
- });
- }
- }
- function bindEvents(){
- $("#tmaticLegendViewer .close").bind('click', function() {
- $("#tmaticLegendViewer").hide();
- })
- var $box2 = $('#tmaticLegendViewer').on('mousedown', '#coorForGcmsPictureViewer', function(e) {
- var posix = {
- 'w': $box2.width(),
- 'h': $box2.height(),
- 'x': e.pageX,
- 'y': e.pageY
- };
- $.extend(document, {
- 'move': true,
- 'call_down': function(e) {
- $box2.css({
- 'width': Math.max(30, e.pageX - posix.x + posix.w),
- 'height': Math.max(30, e.pageY - posix.y + posix.h)
- });
- var bodyHeight = Math.max(30, e.pageY - posix.y + posix.h) - 75;
- $("#tmaticLegendViewer .modal-body").css({ height: bodyHeight });
- $("#tmaticLegendViewerBox").iviewer('update');
- }
- });
- return false;
- });
- //拖拽
- $("#tmaticLegendViewer .popup-ct").dragmove($('#tmaticLegendViewer'));
- };
- function legendRemove(options){
- if(options.type == modValue.pictureUrl || options.type == 'allRemove'){
- $("#tmaticLegendViewer").remove();
- modValue.iviewer = null;
- }
- }
- function subscribe(){
- ONEMAP.C.publisher.subscribe(legendRemove,'legend:remove');
- }
- return ONEMAP.M.legend = {
- init:init
- }
- })
|