问题:图层中生成的文本标注在谷歌中可以显示,但在ie中显示不出来。
问题排除前写法:
function xxx(deviceType,data){ require([ "esri/map", "esri/layers/ArcGISTiledMapServiceLayer", "esri/geometry/Point", "esri/layers/GraphicsLayer", "esri/graphic","esri/symbols/TextSymbol", "dojo/_base/Color","esri/symbols/Font", "dojo/domReady!"], function(Map, Tiled, Point, GraphicsLayer, Graphic,TextSymbol,Font, Color) { ……//省略 var startFont = new Font('12px'); //定义文字样式 var textSymbol = new TextSymbol(text, startFont, new Color([204, 102, 51])); textSymbol.setOffset(0, 20); var textGraphic = new esri.Graphic(pt, textSymbol,_data); }) }
修改后写法:
function xxx(deviceType,data){ ……//省略 var textSymbol = new esri.symbol.TextSymbol(text); textSymbol.setFont(new esri.symbol.Font("12pt").setWeight(esri.symbol.Font.WEIGHT_BOLD)); textSymbol.setOffset(0, 20); textSymbol.setColor(new esri.Color([204, 102, 51])); var textGraphic = new esri.Graphic(pt, textSymbol,_data); }
猜测问题形成的原因,应该是方法内新引入arcgis的包和原有图层发生冲突?