arcgis TextSymbol 换行问题
来源:互联网 发布:女人之间的嫉妒知乎 编辑:程序博客网 时间:2024/06/06 11:39
首先 找到 这个 文件 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 TextSymbol 换行问题
- arcgis TextSymbol 换行问题
- Arcgis for Android解决标注TextSymbol中文字体乱码的问题
- 《ArcGIS Runtime SDK for Android开发笔记》——问题集:使用TextSymbol做标注显示乱码
- arcgis api for flex 设置 TextSymbol 竖排字 道路标注
- JS API TextSymbol IE 乱码问题
- Arcgis标注语义换行
- 扩展ArcGIS API for Silverlight/WPF 中的TextSymbol支持角度标注
- ArcGIS API for Silverlight 之ElementLayer使用及TextSymbol的模板使用
- ArcGIS API for Silverlight 之ElementLayer使用及TextSymbol的模板使用
- arcgis api for js中使用d3.js标注点的属性值代替textsymbol方式
- arcgis js api改进textSymbol不能显示多行的不足
- H5 Canvas结合Arcgis JSAPI实现有背景的TextSymbol效果
- TextSymbol使用方法
- 【制图】ArcGIS 标注语义换行
- arcgis文本标注换行处理
- ArcGIS API for Silverlight 动态添加点的同时,添加文字说明(利用TextSymbol添加多文字信息 )
- ArcGIS API for Silverlight 动态添加点的同时,添加文字说明(利用TextSymbol添加多文字信息 )
- C++代码效率提升工具
- 水墨大写意笔法模拟简易方法
- php多字节编码字符长度检测
- Hibernate(二)实现数据库的基本操作及相关api
- 【简易版】IOS仿periscope自制狂赞飘桃心
- arcgis TextSymbol 换行问题
- Java中equals和==的区别
- 关于highcharts的中文导出问题
- ScheduledExecutorService中scheduleAtFixedRate方法的同步
- Java Map集合解析
- undefied
- 简易的IOS位置定位服务
- MYSQL学习笔记(五)之常用的字符串函数
- 周记——20150713