jquery - Javascript doesn't work the first click - Openlayers -


i have javascript displays map via openlayers , plots points text on map. reason, text layer doesn't work on first click. here link site. first project working javascript, , appreciate help.

thanks!

code:

//--------------------------------------------------------------------- // creates filtered point vector layer, base of text layer  // , genetates table // function createvector( ajaxurl ) {      console.log( ajaxurl );      //remove layers except base (google) layers     while( map.layers.length > 4 )     map.removelayer(map.layers[map.layers.length - 1]);      var date = $('#datepicker').val();     var filter = $('input:radio[name=filter]:checked').val();      //json, ajax, , kml urls      var jsonurl = "/map/desc/";     var url = "/map/test-";     url += date;     jsonurl += date;     url += "/"+filter;     jsonurl += "/"+filter;     url += ".kml"      //create new layer points     points = new openlayers.layer.vector("albedo data points", {         strategies: [new openlayers.strategy.fixed()],         protocol: new openlayers.protocol.http({             url: url,             format: new openlayers.format.kml({                 extractstyles: true,                 extractattributes: true             })     }),     });      //create style map layer text. empty @ point     text = new openlayers.layer.vector("text layer", {      stylemap: new openlayers.stylemap({'default':{                 pointerevents: "visiblepainted",                  label : "${val}",                 fontcolor: "${color}",                 fontsize: "12px",                 fontfamily: "courier new, monospace",                 fontweight: "bold",                 labelalign: "${align}",                 labelxoffset: "${xoffset}",                 labelyoffset: "${yoffset}",                 labeloutlinecolor: "white",                 labeloutlinewidth: 3      } }),     });      //get json model     $.getjson(jsonurl, function(json, textstatus, jqxhr) {     data = json;     });      //load function after map has been processed     points.events.register( 'loadend', points, function (e) {        addtextlayer( filter );     });           //add layers map     map.addlayers( [points, text] );      //and control     selectcontrol = new openlayers.control.selectfeature(points);     map.addcontrol(selectcontrol);     selectcontrol.activate();     points.events.on({         'featureselected': onfeatureselect,         'featureunselected': onfeatureunselect     });      //generate table     ajaxurl += '?q=';     $( '#results' ).html( '&nbsp;' ).load( ajaxurl + date ); }  //--------------------------------------------------------------------- // loops through points layer grab coordiantes, , // adds features text layer  // function addtextlayer( filter ) {      for( var = 0; < points.features.length; i++ ) {      var value;      if( filter == "albedo" )         value = data[i].fields.albedo;     else         value = data[i].fields.snow_density;          var temp = new openlayers.geometry.point(         points.features[i].geometry.x,          points.features[i].geometry.y      );      var textfeature = new openlayers.feature.vector( temp );         textfeature.attributes = {         val: value,         color: 'blue',         align: "cm",         xoffset: 20,         yoffset: 10,             };      text.addfeatures( textfeature );     };      } 


Comments

Popular posts from this blog

jquery - Invalid Assignment Left-Hand Side -

java - Play! framework 2.0: How to display multiple image? -

gmail - Is there any documentation for read-only access to the Google Contacts API? -