/** Parse a feature from an XML node * MC specific at the moment */ OpenLayers.Feature.MetaCarta = Class.create(); OpenLayers.Feature.MetaCarta.prototype= { // Object listeners:null, // ol.Size size:null, // ol.LatLon _latlon:null, // str id:"", fid:null, srsName:null, title:null, location:null, docurl:null, extract:null, geoExtract:null, relevance:null, geoRelevance:null, markerImage:null, initialize: function(fNode) { this.listeners = new Object(); var docpt = OpenLayers.getNodes(fNode, "docpoint")[0]; this.fid = docpt.getAttribute('fid'); this.id = this.fid; var node = OpenLayers.getNodes(docpt, "position")[0]; node = OpenLayers.getNodes(node, "gml:Point")[0]; this.srsName = node.getAttribute('srsName'); var temp = OpenLayers.getTagText(node, "gml:coordinates"); this._latlon = ol.LatLon.fromString(temp); this.title = OpenLayers.getTagText(docpt, "title"); this.location = OpenLayers.getTagText(docpt, "locationName"); this.docurl = OpenLayers.getTagText(docpt, "documentUrl"); this.extract = OpenLayers.getTagText(docpt, "extract"); this.geoExtract = OpenLayers.getTagText(docpt, "geoextract"); this.relevance = OpenLayers.getTagText(docpt, "relevance"); this.geoRelevance = OpenLayers.getTagText(docpt, "georelevance"); this.markerImage = OpenLayers.getTagText(docpt, "markerImage"); this.size = new ol.Size(20, 25); // TODO: Fix this hard coded value. }, destroy: function() { this.listeners = null; this.fid = null; this.id = null; this.srsName = null; this._latlon = null; this.title = null; this.location = null; this.docurl = null; this.extract = null; this.geoExtract = null; this.relevance = null; this.geoRelevance = null; this.markerImage = null; this.size = null; }, toString:function() { var s = this.title + " relevance:" + this.relevance + " [" + this.geoRelevance + "]"; s += " Fid [" + this.fid + "] @ " + this._latlon.toString(); s += " Location [" + this.geoExtract + "]"; return s; }, /* MARKER DATA INTERFACE FUNCTIONS: * * getLatLon(), getImage() * */ /** * ret(ol.Point) */ getLatLon:function() { return this._latlon.copyOf(); }, /** * ret(ol.Point) */ getImage:function() { return this.markerImage; }, /** html content based on feature information * * ret(str): */ getContentHTML:function() { var contentHTML = ""; contentHTML += "