arcgis TextSymbol 换行问题
来源:互联网 发布:知肤泉水光面膜有效期 编辑:程序博客网 时间:2024/06/02 02:21
首先 找到 这个 文件 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添加多文字信息 )
- leetcode 013 —— Roman to Integer
- [转]LAMP 系统性能调优,第 2 部分: 优化 Apache 和 PHP
- android studio 导入工程慢
- [转]LAMP 系统性能调优,第 1 部分: 理解 LAMP 架构
- 打开linux的framebuffer
- arcgis TextSymbol 换行问题
- LeetCode——Find Minimum in Rotated Sorted Array
- struct&typedef函数学习笔记
- 3Sum Closest
- 凸优化:ADMM(Alternating Direction Method of Multipliers)交替方向乘子算法系列之八: Distributed Model Fitting
- 260 数数小木块
- poj 2724 Purifying Machine (最小边覆盖)
- 【Python 学习手册笔记】介绍Python对象类型
- logback实用配置示例