arcgis TextSymbol 换行问题

原创 2015年07月08日 20:07:06

首先 找到 这个  文件 esri.symbol.MultiLineTextSymbol.js

然后 替换 



require(["esri/layers/LabelLayer"], function(ll)
{
    if( typeof esri.layers.LabelLayer.prototype._addLabel == 'function' )
    {
        esri.layers.LabelLayer.prototype._addLabel2 = esri.layers.LabelLayer.prototype._addLabel;
        esri.layers.LabelLayer.prototype._addLabel = function(a,b,c,e,g,k,m)
        {
            // replace \n by <br>
            a = a.replace(/\n/g, "<br />");
            this._addLabel2(a,b,c,e,g,k,m);
        }
    }
});


require(["esri/symbols/TextSymbol", "dojox/gfx/svg"], function(ts, svg)
{
    if( typeof dojox.gfx.svg.Text.prototype.setShape == 'function' )
    {
        dojox.gfx.svg.Text.prototype.setShape = function(p)
        {
            this.shape = dojox.gfx.makeParameters(this.shape, p);
            this.bbox = null;
            var r = this.rawNode, s = this.shape;
            r.setAttribute("x", s.x);
            r.setAttribute("y", s.y);
            r.setAttribute("text-anchor", s.align);
            r.setAttribute("text-decoration", s.decoration);
            r.setAttribute("rotate", s.rotated ? 90 : 0);
            r.setAttribute("kerning", s.kerning ? "auto" : 0);
            r.setAttribute("text-rendering", "optimizeLegibility");
            
            while(r.firstChild)
                r.removeChild(r.firstChild);


            if(s.text)
            { 
                var texts = s.text.replace(/<br\s*\/?>/ig, "\n").split("\n");
                var lineHeight = 1.1 * parseInt(document.defaultView.getComputedStyle(r, "").getPropertyValue("font-size"), 10); 
                if( isNaN(lineHeight) || !isFinite(lineHeight) )
                    lineHeight = 15;
                    
                for(var i = 0, n = texts.length; i < n; i++)
                { 
                    var tspan = (document.createElementNS ? document.createElementNS(dojox.gfx.svg.xmlns.svg, "tspan") : document.createElement("tspan"));
                    tspan.setAttribute("dy", i ? lineHeight : -(texts.length-1)*lineHeight/2); 
                    tspan.setAttribute("x", s.x);
                    tspan.appendChild((dojox.gfx.useSvgWeb ? document.createTextNode(texts[i], true) : document.createTextNode(texts[i]))); 
                    r.appendChild(tspan);
                }
            }


            return this;
        }
    }
});



然后在 页面中把该js文件引入。

用\n来进行换行





arcgis 标注按字数个数换行 FindLabel

Function FindLabel([desp])         Dim text, count, lenght, result, num         text = [desp]    ...
  • giself
  • giself
  • 2013年01月30日 11:08
  • 1192

arcgis TextSymbol 换行问题

首先 找到 这个  文件 esri.symbol.MultiLineTextSymbol.js 然后 替换  require(["esri/layers/Label...
  • henghuan123
  • henghuan123
  • 2015年07月13日 09:31
  • 1165

arcgis for js文本标注背景设置

arcgis for js文本标注背景设置    在样式上添加:.dijitTooltipContainer {     background-color: #ffffff !important...
  • goodjie_12
  • goodjie_12
  • 2015年03月02日 16:06
  • 2296

ArcGIS API For JS 文本标注换行

ArcGIS API For JS 文本标注换行
  • hao7834232
  • hao7834232
  • 2017年05月11日 18:43
  • 802

ArcGIS API for Silverlight 动态添加点的同时,添加文字说明(利用TextSymbol添加多文字信息 )

在前面的博客中提到动态添加点,地址:http://blog.csdn.net/taomanman/article/details/7354103 这里根据需要,在添加点的同时,动态添加文字信息。 ...
  • liuchao120
  • liuchao120
  • 2014年10月30日 09:11
  • 676

arcgis api for js中使用d3.js标注点的属性值代替textsymbol方式

require([ 'esri/map', 'esri/layers/GraphicsLayer', 'esri/geometry/Point', 'esri/symb...
  • zxgao_ray
  • zxgao_ray
  • 2015年05月10日 22:45
  • 1718

arcgis js api改进textSymbol不能显示多行的不足

问题描述如题。 查阅相关资料后,发现都是同一篇文档。这种方案采用的是amd的模式,并不适合本人的应用环境,于是对textSymbol进行了继承,实现了多行标记类MultiLineTextSymbol...
  • DUKE0317
  • DUKE0317
  • 2017年07月16日 23:37
  • 676

Arcgis for Android解决标注TextSymbol中文字体乱码的问题

/**  * @作者 Author  * @创建日期 2017/12/1 0001  * @创建时间 上午 8:39  * @描述 —— 将android的文字转换为底图透明的图片  */ publi...
  • jammiwang19870815
  • jammiwang19870815
  • 2017年12月01日 08:52
  • 139

《ArcGIS Runtime SDK for Android开发笔记》——问题集:使用TextSymbol做标注显示乱码

1、前言 在14年的时候写过一篇博客关于ArcGIS for Android 10.1.1API 中文标注导致程序异常崩溃问题,但是当时并没有很好的解决这样一个问题,也并没有深入研究分析这样的一个异...
  • esricd
  • esricd
  • 2015年09月24日 20:54
  • 2138

ArcGIS API for Silverlight 动态添加点的同时,添加文字说明(利用TextSymbol添加多文字信息 )

在前面的博客中提到动态添加点,地址:http://blog.csdn.net/taomanman/article/details/7354103 这里根据需要,在添加点的同时,动态添加文字信息。 ...
  • taomanman
  • taomanman
  • 2012年05月17日 11:11
  • 3965
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:arcgis TextSymbol 换行问题
举报原因:
原因补充:

(最多只允许输入30个字)