1<a id="{$mapcontrol.id|escape}" href="#" title="{$mapcontrol.label|escape}">{icon _id=$mapcontrol.icon title=$mapcontrol.label class=$mapcontrol.class}</a> 2{jq} 3$('#appframe .map-container').bind('initialized', function () { 4 var container = this 5 , link = '#{{$mapcontrol.id|escape}}' 6 , vlayer 7 , mode 8 , controls = [] 9 , func 10 , drawStyle = { 11 fillColor: "#6699cc", 12 strokeColor: "#6699cc", 13 pointRadius: 5, 14 fillOpacity: ".3", 15 strokeDashstyle: "solid" 16 } 17 ; 18 19 {{if $mapcontrol.function}} 20 func = function () { 21 {{$mapcontrol.function}}; 22 return false; 23 }; 24 {{elseif $mapcontrol.mode}} 25 mode = {{$mapcontrol.mode|json_encode}}; 26 {{else}} 27 vlayer = container.vectors; 28 {{if $mapcontrol.control}} 29 controls.push({{$mapcontrol.control}}); 30 {{/if}} 31 32 {{if $mapcontrol.navigation}} 33 controls.push(new OpenLayers.Control.NavToolbar()); 34 {{/if}} 35 36 mode = {{$mapcontrol.label|json_encode}}; 37 container.modeManager.addMode({ 38 name: {{$mapcontrol.label|json_encode}}, 39 controls: controls 40 }); 41 {{/if}} 42 43 container.modeManager.register('activate', mode, function () { 44 $(link).addClass('active'); 45 }); 46 container.modeManager.register('deactivate', mode, function () { 47 $(link).removeClass('active'); 48 }); 49 50 if (func) { 51 $(link).click(func); 52 } else { 53 $(link).click(function () { 54 container.modeManager.switchTo(mode); 55 return false; 56 }); 57 } 58}); 59{/jq} 60