你好,
请问你是用的iclient for leaflet产品吗? 如果你要改变每个区域的属性 需要在iserver发布一个数据服务,然后调用featureservice接口 就可以对要素的进行更新,添加和删除。每个区域相当于每个要素,那么每个区域的属性是可以通过更新的方式来改变的。
附上链接http://iclient.supermapol.com/examples/leaflet/editor.html#02_editFeatures
你好,是的,用的是leaflet。现在要做的是改变一个区的颜色。我的思路是先获得所有区的code,然后通个code去设置每个区的颜色。现在我在设置颜色这一步,没有出任何效果,我参考了http://iclient.supermap.io/examples/leaflet/editor.html#03_themeUnique 的做法。但是效果没有出来。我把我的代码贴出来,麻烦帮忙看看,有没有什么问题,那些参数要注意核对,帮忙指点一下。
var style1; style1 = new SuperMap.ServerStyle({ fillForeColor : new SuperMap.ServerColor(196, 255, 189), lineColor : new SuperMap.ServerColor(255, 173, 173), lineWidth : 0.1 }); //开阳 var themeUniqueIteme1 = new SuperMap.ThemeUniqueItem({ unique : "开阳县", style : style1 })
var themeUniqueItemes = [ themeUniqueIteme1 ];
themeUnique = new SuperMap.ThemeUnique({ uniqueExpression : "Name", items : themeUniqueItemes, defaultStyle : style1 }); themeParameters = new SuperMap.ThemeParameters({ datasetNames : [ "area" ], dataSourceNames : [ "test123" ], themes : [ themeUnique ] }); themeService.getThemeInfo(themeParameters, function(serviceResult) { var result = serviceResult.result; if (result && result.newResourceID) { themeLayer = L.supermap.tiledMapLayer(url, { noWrap : true, cacheEnabled : false, transparent : true, layersID : result.newResourceID }).addTo(map); } });
没有报错日志, getThemeInfo我把这个方法执行结果(serviceResult)发出来,看看有没有用 var result = serviceResult.result; 这个结果是undefined。 serviceResult 打印的内容:
---------------
第二行里面的json数据是: [{ "completeLineSymbolDisplayed": false, "visible": true, "maxScale": 0, "caption": null, "description": "", "symbolScalable": false, "subLayers": {}, "type": "UGC", "queryable": false, "opaqueRate": 100, "minVisibleGeometrySize": 0, "name": "area", "bounds": { "top": 27.359476654061407, "left": 106.12111178534144, "bottom": 26.184349414917424, "leftBottom": { "x": 106.12111178534144, "y": 26.184349414917424 }, "right": 107.27466679853805, "rightTop": { "x": 107.27466679853805, "y": 27.359476654061407 } }, "symbolScale": 0, "minScale": 0 }]