前言
通过ArcGIS API JavaScript 查询的方式拿到的服务中的要素,其中要素的attribute
和geometry
属性都存在,infowindow
属性为null,但是symbol
属性也为none,这就需要我们单独写symbol的样式。
通过identifytask控件查询的方式拿到的graphics没有symbol属性。(目前还没有发现什么方法能解决这个问题)
如何获取服务中geometry的属性symbol
在ArcGIS Server中查看服务,如下
在地图服务中的All Layer and tables是含有服务中各个图层的symbol样式的,我们只需要访问这个json就可以拿到这个服务中图层相关symbol样式。我们拿到json返回对象,对其进行条件处理即可
在获取这个对象的时候,通常的request请求会造成跨域问题,所以采用jsonp形式的访问更为合适。
跨域问题解决:https://blog.csdn.net/idomyway/article/details/82793119
Jsonp请求代码:
require(["dojo/request/script"], function(script){
script.get(url, {
jsonp: "callback"
}).then(function(responses){
console.log(responses);
}, function(err){
});
});