Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- drawGeometry: function(geometry, style, featureId) {
- var rendered = false;
- if (geometry instanceof OpenLayers.Geometry.Point) {
- var node = document.getElementById(featureId);
- if (node) {
- if (style.display != "none") {
- var resolution = this.getResolution();
- var x = (geometry.x / resolution + this.left);
- var y = (this.top - geometry.y / resolution);
- node.style.left = parseInt(x) + "px";
- node.style.top = parseInt(y) + "px";
- rendered = true;
- }
- } else {
- if (style.display == "none") { return rendered; }
- node = document.createElement("a");
- node.setAttribute('href', '#');
- node.id = featureId;
- node._featureId = featureId;
- if (style.cssClass === 'cluster') {
- var len = ("" + style.label).length;
- node.className = style.cssClass + " cluster-" + len;
- } else {
- node.className = style.cssClass;
- }
- var resolution = this.getResolution();
- var x = (geometry.x / resolution + this.left);
- var y = (this.top - geometry.y / resolution);
- var idx = node.id.substr(node.id.lastIndexOf('_')+1, node.id.length);
- // TODO see if there is no cleaner way to differentiate
- if (style.cssClass === 'cluster') {
- node.innerHTML = '<span>'+idx+'</span>';
- } else {
- node.innerHTML = idx;
- }
- node.style.left = parseInt(x) + "px";
- node.style.top = parseInt(y) + "px";
- this.root.appendChild(node);
- rendered = true;
- }
- if (rendered == false) {
- this.root.removeChild(node);
- }
- return rendered;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement