402a226a by zhaoqian

Merge remote-tracking branch 'origin/master'

2 parents 8238e3db 99e5f708
......@@ -31,9 +31,87 @@
<ul class="icon_lists dib-box">
<li class="dib">
<span class="icon iconfont">&#xe71a;</span>
<span class="icon iconfont">&#xe78a;</span>
<div class="name">查询</div>
<div class="code-name">&amp;#xe78a;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe78b;</span>
<div class="name">展开</div>
<div class="code-name">&amp;#xe78b;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe78c;</span>
<div class="name">缓冲分析</div>
<div class="code-name">&amp;#xe78c;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe78d;</span>
<div class="name">位置</div>
<div class="code-name">&amp;#xe78d;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe78e;</span>
<div class="name">重叠分析</div>
<div class="code-name">&amp;#xe78e;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe78f;</span>
<div class="name">专题树</div>
<div class="code-name">&amp;#xe78f;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe790;</span>
<div class="name">收缩</div>
<div class="code-name">&amp;#xe790;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe788;</span>
<div class="name">不动产单元号</div>
<div class="code-name">&amp;#xe788;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe789;</span>
<div class="name">宗地代码</div>
<div class="code-name">&amp;#xe789;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe784;</span>
<div class="name">多屏对比</div>
<div class="code-name">&amp;#xe784;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe785;</span>
<div class="name">坐标定位</div>
<div class="code-name">&amp;#xe785;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe786;</span>
<div class="name">空间查询</div>
<div class="code-name">&amp;#xe786;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe787;</span>
<div class="name">行政区导航</div>
<div class="code-name">&amp;#xe787;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe783;</span>
<div class="name">地球</div>
<div class="code-name">&amp;#xe71a;</div>
<div class="code-name">&amp;#xe783;</div>
</li>
<li class="dib">
......@@ -363,11 +441,128 @@
<ul class="icon_lists dib-box">
<li class="dib">
<span class="icon iconfont iconiconset0403"></span>
<span class="icon iconfont iconchaxun"></span>
<div class="name">
查询
</div>
<div class="code-name">.iconchaxun
</div>
</li>
<li class="dib">
<span class="icon iconfont iconzhankai1"></span>
<div class="name">
展开
</div>
<div class="code-name">.iconzhankai1
</div>
</li>
<li class="dib">
<span class="icon iconfont iconhuanchongfenxi"></span>
<div class="name">
缓冲分析
</div>
<div class="code-name">.iconhuanchongfenxi
</div>
</li>
<li class="dib">
<span class="icon iconfont iconweizhi"></span>
<div class="name">
位置
</div>
<div class="code-name">.iconweizhi
</div>
</li>
<li class="dib">
<span class="icon iconfont iconzhongdiefenxi"></span>
<div class="name">
重叠分析
</div>
<div class="code-name">.iconzhongdiefenxi
</div>
</li>
<li class="dib">
<span class="icon iconfont iconzhuantishu"></span>
<div class="name">
专题树
</div>
<div class="code-name">.iconzhuantishu
</div>
</li>
<li class="dib">
<span class="icon iconfont iconshousuo"></span>
<div class="name">
收缩
</div>
<div class="code-name">.iconshousuo
</div>
</li>
<li class="dib">
<span class="icon iconfont iconbudongchandanyuanhao"></span>
<div class="name">
不动产单元号
</div>
<div class="code-name">.iconbudongchandanyuanhao
</div>
</li>
<li class="dib">
<span class="icon iconfont iconzongdidaima"></span>
<div class="name">
宗地代码
</div>
<div class="code-name">.iconzongdidaima
</div>
</li>
<li class="dib">
<span class="icon iconfont iconduopingduibi"></span>
<div class="name">
多屏对比
</div>
<div class="code-name">.iconduopingduibi
</div>
</li>
<li class="dib">
<span class="icon iconfont iconzuobiaodingwei"></span>
<div class="name">
坐标定位
</div>
<div class="code-name">.iconzuobiaodingwei
</div>
</li>
<li class="dib">
<span class="icon iconfont iconkongjianchaxun"></span>
<div class="name">
空间查询
</div>
<div class="code-name">.iconkongjianchaxun
</div>
</li>
<li class="dib">
<span class="icon iconfont iconhangzhengqudaohang"></span>
<div class="name">
行政区导航
</div>
<div class="code-name">.iconhangzhengqudaohang
</div>
</li>
<li class="dib">
<span class="icon iconfont icondiqiu"></span>
<div class="name">
地球
</div>
<div class="code-name">.iconiconset0403
<div class="code-name">.icondiqiu
</div>
</li>
......@@ -816,10 +1011,114 @@
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#iconiconset0403"></use>
<use xlink:href="#iconchaxun"></use>
</svg>
<div class="name">查询</div>
<div class="code-name">#iconchaxun</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#iconzhankai1"></use>
</svg>
<div class="name">展开</div>
<div class="code-name">#iconzhankai1</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#iconhuanchongfenxi"></use>
</svg>
<div class="name">缓冲分析</div>
<div class="code-name">#iconhuanchongfenxi</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#iconweizhi"></use>
</svg>
<div class="name">位置</div>
<div class="code-name">#iconweizhi</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#iconzhongdiefenxi"></use>
</svg>
<div class="name">重叠分析</div>
<div class="code-name">#iconzhongdiefenxi</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#iconzhuantishu"></use>
</svg>
<div class="name">专题树</div>
<div class="code-name">#iconzhuantishu</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#iconshousuo"></use>
</svg>
<div class="name">收缩</div>
<div class="code-name">#iconshousuo</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#iconbudongchandanyuanhao"></use>
</svg>
<div class="name">不动产单元号</div>
<div class="code-name">#iconbudongchandanyuanhao</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#iconzongdidaima"></use>
</svg>
<div class="name">宗地代码</div>
<div class="code-name">#iconzongdidaima</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#iconduopingduibi"></use>
</svg>
<div class="name">多屏对比</div>
<div class="code-name">#iconduopingduibi</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#iconzuobiaodingwei"></use>
</svg>
<div class="name">坐标定位</div>
<div class="code-name">#iconzuobiaodingwei</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#iconkongjianchaxun"></use>
</svg>
<div class="name">空间查询</div>
<div class="code-name">#iconkongjianchaxun</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#iconhangzhengqudaohang"></use>
</svg>
<div class="name">行政区导航</div>
<div class="code-name">#iconhangzhengqudaohang</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icondiqiu"></use>
</svg>
<div class="name">地球</div>
<div class="code-name">#iconiconset0403</div>
<div class="code-name">#icondiqiu</div>
</li>
<li class="dib">
......
@font-face {font-family: "iconfont";
src: url('//at.alicdn.com/t/font_8d5l8fzk5b87iudi.eot?t=1501489744354'); /* IE9*/
src: url('//at.alicdn.com/t/font_8d5l8fzk5b87iudi.eot?t=1501489744354#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('//at.alicdn.com/t/font_8d5l8fzk5b87iudi.woff?t=1501489744354') format('woff'), /* chrome, firefox */
url('//at.alicdn.com/t/font_8d5l8fzk5b87iudi.ttf?t=1501489744354') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+*/
url('//at.alicdn.com/t/font_8d5l8fzk5b87iudi.svg?t=1501489744354#iconfont') format('svg'); /* iOS 4.1- */
}
.iconfont {
font-family:"iconfont" !important;
font-size:16px;
font-style:normal;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.icon-tuichu:before { content: "\e604"; }
.icon-fanhui:before { content: "\e608"; }
.icon-facebook:before { content: "\e60e"; }
.icon-twitter:before { content: "\e60f"; }
.icon-xiangyou:before { content: "\e609"; }
.icon-right:before { content: "\e60a"; }
.icon-fanhui1:before { content: "\e60b"; }
.icon-fenxiang:before { content: "\e632"; }
.icon-xiangxia:before { content: "\e605"; }
.icon-xiangxia1:before { content: "\e606"; }
.icon-xiangxia2:before { content: "\e607"; }
.icon-suofang:before { content: "\e677"; }
.icon-chexiao:before { content: "\e688"; }
.icon-esc:before { content: "\e629"; }
.icon-chexiao1:before { content: "\e675"; }
.icon-iconfont:before { content: "\e631"; }
.icon-suoding:before { content: "\e633"; }
.icon-bianji:before { content: "\e636"; }
.icon-shoucang2:before { content: "\e638"; }
.icon-xinjian:before { content: "\e639"; }
.icon-shoucang1:before { content: "\e63a"; }
.icon-gongkai:before { content: "\e63b"; }
.icon-gouwuche1:before { content: "\e63c"; }
.icon-zhongwen:before { content: "\e63f"; }
.icon-shangchuan:before { content: "\e640"; }
.icon-yingwen:before { content: "\e641"; }
.icon-gouwuche2:before { content: "\e642"; }
.icon-shanchu:before { content: "\e643"; }
.icon-xiazai:before { content: "\e644"; }
.icon-sousuo:before { content: "\e645"; }
.icon-dashang:before { content: "\e634"; }
.icon-xiangmu:before { content: "\e635"; }
.icon-fuzhidaima1:before { content: "\e646"; }
.icon-wofaqi:before { content: "\e647"; }
.icon-xiangmuchengyuan:before { content: "\e648"; }
.icon-gengduo:before { content: "\e649"; }
.icon-wocanyu:before { content: "\e64a"; }
.icon-lishi:before { content: "\e64b"; }
.icon-piliang:before { content: "\e64c"; }
.icon-shijian:before { content: "\e64d"; }
.icon-gonggao:before { content: "\e652"; }
.icon-weixin:before { content: "\e653"; }
.icon-weibo:before { content: "\e654"; }
.icon-gerenzhanghu:before { content: "\e637"; }
.icon-tianjiachengyuan:before { content: "\e63d"; }
.icon-soutubiao:before { content: "\e63e"; }
.icon-souren:before { content: "\e655"; }
.icon-yuzhanghao:before { content: "\e656"; }
.icon-biaoqing:before { content: "\e657"; }
.icon-qq:before { content: "\e658"; }
.icon-weibo1:before { content: "\e659"; }
.icon-zuoxuan:before { content: "\e65a"; }
.icon-fangda2:before { content: "\e65b"; }
.icon-zuo2:before { content: "\e65c"; }
.icon-suoxiao:before { content: "\e65d"; }
.icon-you2:before { content: "\e65e"; }
.icon-suoxiao2:before { content: "\e65f"; }
.icon-youxuan2:before { content: "\e660"; }
.icon-zuo:before { content: "\e661"; }
.icon-zuoxuan2:before { content: "\e662"; }
.icon-shang:before { content: "\e663"; }
.icon-shang2:before { content: "\e664"; }
.icon-youxuan:before { content: "\e665"; }
.icon-xia2:before { content: "\e666"; }
.icon-fangda:before { content: "\e667"; }
.icon-xia:before { content: "\e668"; }
.icon-you:before { content: "\e669"; }
.icon-zhuanrang:before { content: "\e66a"; }
.icon-dianzan:before { content: "\e66b"; }
.icon-huifu:before { content: "\e66c"; }
.icon-saoyisao:before { content: "\e66d"; }
.icon-shuoming:before { content: "\e600"; }
.icon-jinggao:before { content: "\e601"; }
.icon-jieshi:before { content: "\e602"; }
.icon-youxiang:before { content: "\e603"; }
.icon-guanbi:before { content: "\e60c"; }
.icon-qunzhu:before { content: "\e60d"; }
.icon-fuzhichenggong:before { content: "\e611"; }
.icon-weijiaru:before { content: "\e612"; }
.icon-daishenhe:before { content: "\e613"; }
.icon-shenhetongguo:before { content: "\e614"; }
.icon-shenhejujue:before { content: "\e615"; }
.icon-xinjiantubiaoku:before { content: "\e616"; }
.icon-tubiaoku:before { content: "\e617"; }
.icon-gouwuche:before { content: "\e618"; }
.icon-huidingbu:before { content: "\e619"; }
.icon-dianzan1:before { content: "\e61a"; }
.icon-morentouxiang:before { content: "\e610"; }
.icon-paixu:before { content: "\e61b"; }
.icon-wenjian:before { content: "\e61c"; }
.icon-github:before { content: "\e61d"; }
.icon-yuzhanghao1:before { content: "\e61e"; }
.icon-weibo2:before { content: "\e61f"; }
.icon-you1:before { content: "\e620"; }
.icon-zuo1:before { content: "\e621"; }
.icon-shang1:before { content: "\e622"; }
.icon-iconfont1:before { content: "\e623"; }
.icon-gonggaodayi:before { content: "\e625"; }
.icon-gongnengjieshao:before { content: "\e626"; }
.icon-tubiaohuizhi:before { content: "\e627"; }
.icon-daimayingyong:before { content: "\e628"; }
.icon-zhifubao:before { content: "\e624"; }
.icon-alibaba:before { content: "\e62a"; }
.icon-xiaomi:before { content: "\e62b"; }
.icon-zhongguodianxin:before { content: "\e62c"; }
.icon-tianmao:before { content: "\e62d"; }
.icon-alimama:before { content: "\e62e"; }
.icon-zhubajie:before { content: "\e62f"; }
.icon-tengxunwang:before { content: "\e630"; }
.icon-aliyun:before { content: "\e64e"; }
.icon-taobaowang:before { content: "\e64f"; }
.icon-anzhuo:before { content: "\e650"; }
.icon-ios:before { content: "\e651"; }
.icon-pcduan:before { content: "\e670"; }
.icon-qingchu:before { content: "\e673"; }
.icon-huizhiguize:before { content: "\e66e"; }
.icon-zhizuoliucheng:before { content: "\e66f"; }
.icon-fuzhidaima:before { content: "\e671"; }
.icon-fankui1:before { content: "\e672"; }
.icon-weitijiao:before { content: "\e674"; }
.icon-chexiao2:before { content: "\e676"; }
\ No newline at end of file
@font-face {font-family: "iconfont";
src: url('iconfont.eot?t=1609142478828'); /* IE9 */
src: url('iconfont.eot?t=1609142478828#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('data:application/x-font-woff2;charset=utf-8;base64,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') format('woff2'),
url('iconfont.woff?t=1609142478828') format('woff'),
url('iconfont.ttf?t=1609142478828') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+ */
url('iconfont.svg?t=1609142478828#iconfont') format('svg'); /* iOS 4.1- */
src: url('iconfont.eot?t=1609228467295'); /* IE9 */
src: url('iconfont.eot?t=1609228467295#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('data:application/x-font-woff2;charset=utf-8;base64,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') format('woff2'),
url('iconfont.woff?t=1609228467295') format('woff'),
url('iconfont.ttf?t=1609228467295') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+ */
url('iconfont.svg?t=1609228467295#iconfont') format('svg'); /* iOS 4.1- */
}
.iconfont {
......@@ -15,8 +15,60 @@
-moz-osx-font-smoothing: grayscale;
}
.iconiconset0403:before {
content: "\e71a";
.iconchaxun:before {
content: "\e78a";
}
.iconzhankai1:before {
content: "\e78b";
}
.iconhuanchongfenxi:before {
content: "\e78c";
}
.iconweizhi:before {
content: "\e78d";
}
.iconzhongdiefenxi:before {
content: "\e78e";
}
.iconzhuantishu:before {
content: "\e78f";
}
.iconshousuo:before {
content: "\e790";
}
.iconbudongchandanyuanhao:before {
content: "\e788";
}
.iconzongdidaima:before {
content: "\e789";
}
.iconduopingduibi:before {
content: "\e784";
}
.iconzuobiaodingwei:before {
content: "\e785";
}
.iconkongjianchaxun:before {
content: "\e786";
}
.iconhangzhengqudaohang:before {
content: "\e787";
}
.icondiqiu:before {
content: "\e783";
}
.iconxitongguanli:before {
......
This diff could not be displayed because it is too large.
......@@ -6,11 +6,102 @@
"description": "",
"glyphs": [
{
"icon_id": "554437",
"icon_id": "19104781",
"name": "查询",
"font_class": "chaxun",
"unicode": "e78a",
"unicode_decimal": 59274
},
{
"icon_id": "19104783",
"name": "展开",
"font_class": "zhankai1",
"unicode": "e78b",
"unicode_decimal": 59275
},
{
"icon_id": "19104784",
"name": "缓冲分析",
"font_class": "huanchongfenxi",
"unicode": "e78c",
"unicode_decimal": 59276
},
{
"icon_id": "19104785",
"name": "位置",
"font_class": "weizhi",
"unicode": "e78d",
"unicode_decimal": 59277
},
{
"icon_id": "19104786",
"name": "重叠分析",
"font_class": "zhongdiefenxi",
"unicode": "e78e",
"unicode_decimal": 59278
},
{
"icon_id": "19104787",
"name": "专题树",
"font_class": "zhuantishu",
"unicode": "e78f",
"unicode_decimal": 59279
},
{
"icon_id": "19104791",
"name": "收缩",
"font_class": "shousuo",
"unicode": "e790",
"unicode_decimal": 59280
},
{
"icon_id": "19104774",
"name": "不动产单元号",
"font_class": "budongchandanyuanhao",
"unicode": "e788",
"unicode_decimal": 59272
},
{
"icon_id": "19104775",
"name": "宗地代码",
"font_class": "zongdidaima",
"unicode": "e789",
"unicode_decimal": 59273
},
{
"icon_id": "19104764",
"name": "多屏对比",
"font_class": "duopingduibi",
"unicode": "e784",
"unicode_decimal": 59268
},
{
"icon_id": "19104765",
"name": "坐标定位",
"font_class": "zuobiaodingwei",
"unicode": "e785",
"unicode_decimal": 59269
},
{
"icon_id": "19104766",
"name": "空间查询",
"font_class": "kongjianchaxun",
"unicode": "e786",
"unicode_decimal": 59270
},
{
"icon_id": "19104767",
"name": "行政区导航",
"font_class": "hangzhengqudaohang",
"unicode": "e787",
"unicode_decimal": 59271
},
{
"icon_id": "19073499",
"name": "地球",
"font_class": "iconset0403",
"unicode": "e71a",
"unicode_decimal": 59162
"font_class": "diqiu",
"unicode": "e783",
"unicode_decimal": 59267
},
{
"icon_id": "19005628",
......
......@@ -20,7 +20,46 @@ Created by iconfont
/>
<missing-glyph />
<glyph glyph-name="iconset0403" unicode="&#59162;" d="M565.333333 290.133333c-44.8 38.4-40.533333 55.466667-98.133333 55.466667s-93.866667-12.8-78.933333-93.866667 57.6-44.8 53.333333-104.533333 10.666667-74.666667 19.2-89.6 38.4-57.6 49.066667 2.133333 29.866667 93.866667 53.333333 123.733333S610.133333 251.733333 565.333333 290.133333zM407.466667 430.933333c2.133333 29.866667 51.2 61.866667 85.333333 76.8s64 19.2 59.733333 44.8S539.733333 597.333333 488.533333 597.333333s-29.866667-70.4-72.533333-27.733333 8.533333 29.866667 29.866667 40.533333 42.666667 49.066667 6.4 51.2-29.866667-17.066667-59.733333-6.4-42.666667-38.4-61.866667-29.866667c-12.8 4.266667-44.8 29.866667-68.266667 53.333333-44.8-36.266667-78.933333-83.2-102.4-138.666667 6.4-72.533333 44.8-108.8 44.8-108.8s19.2-46.933333 140.8-104.533333c0 0 23.466667-2.133333-4.266667 25.6s-55.466667 59.733333-23.466667 76.8 42.666667 17.066667 51.2-17.066667S405.333333 398.933333 407.466667 430.933333zM893.866667 420.266667c0 4.266667 0 6.4-2.133333 10.666667 0 8.533333-2.133333 17.066667-4.266667 23.466667 0 4.266667-2.133333 8.533333-2.133333 12.8-2.133333 8.533333-4.266667 14.933333-6.4 23.466667 0 4.266667-2.133333 6.4-2.133333 10.666667-4.266667 10.666667-6.4 21.333333-10.666667 29.866667-2.133333 4.266667-4.266667 8.533333-6.4 12.8-2.133333 6.4-6.4 10.666667-8.533333 17.066667-2.133333 4.266667-6.4 10.666667-8.533333 14.933333-2.133333 4.266667-4.266667 8.533333-8.533333 12.8-4.266667 4.266667-6.4 10.666667-10.666667 14.933333-2.133333 2.133333-4.266667 6.4-6.4 8.533333-14.933333 19.2-32 38.4-51.2 55.466667-2.133333 0-2.133333 2.133333-4.266667 2.133333-6.4 6.4-12.8 10.666667-21.333333 17.066667 0 0 0 0-2.133333 0-29.866667 23.466667-64 42.666667-100.266667 55.466667-10.666667-17.066667-21.333333-38.4-34.133333-46.933333-19.2-10.666667-17.066667-53.333333 19.2-49.066667 0 0-10.666667-10.666667 0-49.066667s27.733333-46.933333 81.066667-25.6c23.466667 8.533333 40.533333 4.266667 38.4-19.2-6.4-49.066667-42.666667-46.933333-14.933333-125.866667 17.066667-49.066667 59.733333-66.133333 76.8-104.533333 8.533333-21.333333 42.666667-38.4 70.4-53.333333 2.133333 10.666667 6.4 21.333333 8.533333 29.866667 0 4.266667 2.133333 8.533333 2.133333 12.8 2.133333 8.533333 2.133333 14.933333 4.266667 23.466667 0 4.266667 0 6.4 2.133333 10.666667 0 10.666667 2.133333 23.466667 2.133333 34.133333C896 396.8 896 407.466667 893.866667 420.266667zM748.8 294.4c-14.933333-8.533333-14.933333-29.866667-2.133333-40.533333 12.8-10.666667 38.4-25.6 46.933333 0S763.733333 302.933333 748.8 294.4zM512 853.333333C251.733333 853.333333 42.666667 644.266667 42.666667 384s209.066667-469.333333 469.333333-469.333333 469.333333 209.066667 469.333333 469.333333S772.266667 853.333333 512 853.333333zM512-42.666667C277.333333-42.666667 85.333333 149.333333 85.333333 384S277.333333 810.666667 512 810.666667c234.666667 0 426.666667-192 426.666667-426.666667S746.666667-42.666667 512-42.666667z" horiz-adv-x="1024" />
<glyph glyph-name="chaxun" unicode="&#59274;" d="M636.885333 155.52a317.141333 317.141333 0 1 0 60.416 60.245333l122.410667-125.056a42.666667 42.666667 0 0 0-61.013333-59.690666l-121.813334 124.501333z m-191.744 20.821333a231.808 231.808 0 1 1 0 463.658667 231.808 231.808 0 0 1 0-463.658667z" horiz-adv-x="1024" />
<glyph glyph-name="zhankai1" unicode="&#59275;" d="M536.803556 595.000889a42.666667 42.666667 0 1 1-59.107556 61.553778l-236.999111-227.555556a42.666667 42.666667 0 0 1 0-61.553778l236.999111-227.555555a42.666667 42.666667 0 0 1 59.164444 61.553778L331.776 398.222222l204.970667 196.778667z m274.944 0a42.666667 42.666667 0 1 1-59.050667 61.553778l-237.056-227.555556a42.666667 42.666667 0 0 1 0-61.553778l237.056-227.555555a42.666667 42.666667 0 0 1 59.050667 61.553778L606.776889 398.222222l204.970667 196.778667z" horiz-adv-x="1024" />
<glyph glyph-name="huanchongfenxi" unicode="&#59276;" d="M436.167111 384a88.519111 88.519111 0 1 0 176.924445 0 88.519111 88.519111 0 0 0-176.924445 0zM128 384a42.666667 42.666667 0 0 0 85.333333 0 298.666667 298.666667 0 1 1 37.944889 145.806222 42.666667 42.666667 0 0 0-74.467555 41.699556A384 384 0 1 0 128 384z" horiz-adv-x="1024" />
<glyph glyph-name="weizhi" unicode="&#59277;" d="M512-121.6c-108.470857 131.657143-365.714286 480.292571-365.714286 650.715429C146.285714 731.355429 310.345143 896 512 896s365.714286-164.608 365.714286-366.884571c0-169.947429-256.256-517.632-365.714286-650.752" horiz-adv-x="1024" />
<glyph glyph-name="zhongdiefenxi" unicode="&#59278;" d="M695.694222 625.379556h48.071111a142.222222 142.222222 0 0 0 142.222223-142.222223v-330.922666a142.222222 142.222222 0 0 0-142.222223-142.222223H412.842667a142.222222 142.222222 0 0 0-142.222223 142.222223v48.071111H240.64a113.777778 113.777778 0 0 0-113.777778 113.777778v341.333333a113.777778 113.777778 0 0 0 113.777778 113.777778h341.333333a113.777778 113.777778 0 0 0 113.777778-113.777778v-30.037333zM270.620444 285.582222h311.296a28.444444 28.444444 0 0 1 28.444445 28.444445v341.333333a28.444444 28.444444 0 0 1-28.444445 28.444444h-341.333333a28.444444 28.444444 0 0 1-28.444444-28.444444v-341.333333a28.444444 28.444444 0 0 1 28.444444-28.444445h30.037333z m425.073778 254.407111v-225.962666a113.777778 113.777778 0 0 0-113.777778-113.777778H355.953778v-48.071111a56.888889 56.888889 0 0 1 56.888889-56.888889h330.922666a56.888889 56.888889 0 0 1 56.888889 56.888889V483.157333a56.888889 56.888889 0 0 1-56.888889 56.888889h-48.071111z" horiz-adv-x="1024" />
<glyph glyph-name="zhuantishu" unicode="&#59279;" d="M812.032 6.712889L483.953778 172.942222l-328.874667-166.286222A28.444444 28.444444 0 0 0 113.777778 32.028444V696.888889a28.444444 28.444444 0 0 0 28.444444 28.444444h682.666667a28.444444 28.444444 0 0 0 28.444444-28.444444v-664.803556a28.444444 28.444444 0 0 0-41.301333-25.372444zM768 640h-568.888889v-515.413333l284.899556 144.042666 283.989333-143.928889V640zM483.271111 447.203556L387.982222 377.912889a42.666667 42.666667 0 0 0-50.176 69.063111l120.32 87.438222a42.666667 42.666667 0 0 0 50.062222 0.113778l121.059556-87.495111a42.666667 42.666667 0 0 0-50.062222-69.176889l-95.914667 69.404444z" horiz-adv-x="1024" />
<glyph glyph-name="shousuo" unicode="&#59280;" d="M515.640889 595.000889a42.666667 42.666667 0 1 0 59.107555 61.553778l236.999112-227.555556a42.666667 42.666667 0 0 0 0-61.553778l-236.999112-227.555555a42.666667 42.666667 0 0 0-59.164444 61.553778l205.027556 196.778666-204.970667 196.778667z m-274.944 0a42.666667 42.666667 0 1 0 59.050667 61.553778l237.056-227.555556a42.666667 42.666667 0 0 0 0-61.553778l-237.056-227.555555a42.666667 42.666667 0 0 0-59.050667 61.553778L445.667556 398.222222 240.64 595.000889z" horiz-adv-x="1024" />
<glyph glyph-name="budongchandanyuanhao" unicode="&#59272;" d="M512-128C229.248-128 0 101.248 0 384S229.248 896 512 896s512-229.248 512-512-229.248-512-512-512z m59.093333 608V597.333333H256v-426.666666h512V480h-196.906667z m0-39.125333h157.525334v-231.082667h-157.525334v231.082667z m-39.381333-231.082667H295.381333V558.208h236.330667v-348.416z m-177.237333 275.626667v-39.168h39.381333v39.210666h-39.381333z m78.762666 0v-39.168h39.381334v39.210666h-39.381334z m-78.762666-90.069334v-39.210666h39.381333v39.210666h-39.381333z m78.762666 0v-39.210666h39.381334v39.210666h-39.381334z m-78.762666-85.930666v-39.210667h39.381333v39.210667h-39.381333z m78.762666 0v-39.210667h39.381334v39.210667h-39.381334z m196.992 85.845333v-39.125333h39.381334v39.125333h-39.381334z m0-85.930667v-39.125333h39.381334v39.125333h-39.381334z" horiz-adv-x="1024" />
<glyph glyph-name="zongdidaima" unicode="&#59273;" d="M512-128C229.248-128 0 101.248 0 384S229.248 896 512 896s512-229.248 512-512-229.248-512-512-512z m217.6 626.858667H294.4V558.208h435.2v-59.349333z m0-39.253334v-249.813333H294.4v249.856h435.2zM256 597.333333v-426.666666h512V597.333333H256z m148.266667-315.306666a17.706667 17.706667 0 0 1-0.213334-25.088c6.826667-6.826667 18.090667-6.741333 25.045334 0.256l63.232 63.189333a17.706667 17.706667 0 0 1 0.213333 25.045333l-62.08 62.08a17.706667 17.706667 0 0 1-25.045333-0.213333 17.706667 17.706667 0 0 1-0.213334-25.088l49.664-49.621333-50.602666-50.602667z m182.954666-28.202667h47.018667a17.749333 17.749333 0 0 1 17.536 17.92 17.749333 17.749333 0 0 1-17.536 17.92h-47.018667a17.749333 17.749333 0 0 1-17.536-17.92c0-9.898667 7.850667-17.92 17.536-17.92z" horiz-adv-x="1024" />
<glyph glyph-name="duopingduibi" unicode="&#59268;" d="M490.030545 663.272727v-558.545454H232.727273a93.090909 93.090909 0 0 0-93.090909 93.090909V570.181818a93.090909 93.090909 0 0 0 93.090909 93.090909h257.303272z m46.545455 0H791.272727a93.090909 93.090909 0 0 0 93.090909-93.090909v-372.363636a93.090909 93.090909 0 0 0-93.090909-93.090909h-254.696727V663.272727z" horiz-adv-x="1024" />
<glyph glyph-name="zuobiaodingwei" unicode="&#59269;" d="M512 35.746909v-24.948364a23.272727 23.272727 0 1 0-46.545455 0v24.948364a325.957818 325.957818 0 0 0-299.147636 277.829818 23.458909 23.458909 0 0 0-3.397818-0.232727h-46.545455a23.272727 23.272727 0 1 0 0 46.545455h46.545455V360.727273A325.818182 325.818182 0 0 0 465.454545 685.707636V733.090909a23.272727 23.272727 0 1 0 46.545455 0v-47.383273a325.818182 325.818182 0 0 0 299.147636-372.130909 23.272727 23.272727 0 0 0 3.397819 46.312728h46.545454a23.272727 23.272727 0 0 0 0-46.545455h-46.545454a23.458909 23.458909 0 0 0-3.397819 0.232727A325.957818 325.957818 0 0 0 512 35.700364z m-23.272727 45.707636a279.272727 279.272727 0 1 1 0 558.545455 279.272727 279.272727 0 0 1 0-558.545455z m0 46.545455a232.727273 232.727273 0 1 0 0 465.454545 232.727273 232.727273 0 0 0 0-465.454545z" horiz-adv-x="1024" />
<glyph glyph-name="kongjianchaxun" unicode="&#59270;" d="M489.751273 435.758545l-294.167273 133.911273a6.609455 6.609455 0 0 1-6.283636 0A7.773091 7.773091 0 0 1 186.181818 562.874182v-410.205091a6.609455 6.609455 0 0 1 4.189091-6.423273l293.934546-134.516363c0.930909-0.139636 1.861818-0.139636 2.746181 0a5.213091 5.213091 0 0 1 3.584 1.303272 6.656 6.656 0 0 1 3.072 5.911273v410.344727a6.795636 6.795636 0 0 1-3.956363 6.469818z m306.781091 167.144728a6.795636 6.795636 0 0 1-4.514909 6.423272L512 709.818182 232.168727 609.326545a6.795636 6.795636 0 0 1-4.654545-6.050909 7.540364 7.540364 0 0 1 3.956363-7.168l277.829819-126.370909 3.072-1.117091 280.389818 127.488a6.981818 6.981818 0 0 1 3.770182 6.795637z m38.167272-33.792a6.609455 6.609455 0 0 1-6.283636 0l-294.306909-133.352728a7.354182 7.354182 0 0 1-3.816727-6.469818v-410.344727c0-2.373818 1.117091-4.608 3.072-5.911273 0.977455-0.930909 2.327273-1.396364 3.630545-1.256727 0.930909-0.186182 1.815273-0.186182 2.699636 0l293.934546 133.911273a6.609455 6.609455 0 0 1 4.189091 6.423272V562.874182a7.773091 7.773091 0 0 1-3.072 6.237091z" horiz-adv-x="1024" />
<glyph glyph-name="hangzhengqudaohang" unicode="&#59271;" d="M326.469818 426.682182c37.608727-60.881455 90.344727-111.057455 128.325818-147.083637l7.214546-6.935272a72.517818 72.517818 0 0 1 99.793454-0.093091l6.237091 5.911273c36.026182 34.164364 90.112 85.504 128.837818 148.107636h59.066182c22.807273 0 42.914909-14.848 49.757091-36.538182l76.241455-241.803636a52.130909 52.130909 0 0 0-36.631273-66.187637l-263.121455-68.747636a52.084364 52.084364 0 0 0-44.683636 8.983273l-127.674182 96.721454a52.130909 52.130909 0 0 1-44.218182 9.076364l-161.000727-40.308364a52.224 52.224 0 0 0-62.650182 65.861818l71.493819 235.985455c6.656 22.062545 26.949818 37.096727 49.989818 37.096727l63.022545-0.046545zM512 756.363636a182.458182 182.458182 0 0 0 182.318545-182.458181c0-111.522909-109.940364-211.595636-166.632727-265.355637a22.807273 22.807273 0 0 0-31.418182 0.093091c-58.088727 55.249455-166.539636 153.413818-166.539636 265.309091 0 48.407273 19.223273 94.766545 53.341091 128.930909A181.899636 181.899636 0 0 0 512.046545 756.363636z m0-113.850181a68.421818 68.421818 0 0 1 0-136.843637 68.282182 68.282182 0 0 1 60.322909 33.792A68.561455 68.561455 0 0 1 512 642.513455z" horiz-adv-x="1024" />
<glyph glyph-name="diqiu" unicode="&#59267;" d="M512.186182-104.587636a487.191273 487.191273 0 0 0-345.367273 143.034181 487.191273 487.191273 0 0 0-143.080727 345.367273 487.191273 487.191273 0 0 0 143.034182 345.367273A487.191273 487.191273 0 0 0 512.139636 872.261818a487.191273 487.191273 0 0 0 345.367273-143.034182 487.191273 487.191273 0 0 0 143.080727-345.367272 487.191273 487.191273 0 0 0-143.034181-345.367273 487.191273 487.191273 0 0 0-345.367273-143.080727z m0 46.545454a440.645818 440.645818 0 0 1 312.459636 129.396364 440.599273 440.599273 0 0 1 129.396364 312.459636 440.645818 440.645818 0 0 1-129.396364 312.459637 440.599273 440.599273 0 0 1-312.459636 129.442909A440.645818 440.645818 0 0 1 199.68 696.32a440.599273 440.599273 0 0 1-129.442909-312.506182 440.645818 440.645818 0 0 1 129.396364-312.459636 440.599273 440.599273 0 0 1 312.506181-129.396364zM144.756364 545.140364a389.818182 389.818182 0 0 0 112.360727 145.361454c23.877818-22.202182 53.434182-44.683636 65.815273-48.64 20.200727-8.704 33.652364 41.192727 65.024 30.347637 31.371636-10.845091 24.669091 8.704 62.789818 6.516363 38.074182-2.187636 15.685818-41.239273-6.749091-52.084363-22.388364-10.845091-76.194909 2.187636-31.371636-41.192728 44.823273-43.426909 22.434909 28.206545 76.194909 28.206546 53.806545 0 62.836364-19.549091 67.258181-45.614546 4.514909-26.018909-26.903273-30.347636-62.743272-45.521454-35.84-15.173818-87.458909-47.755636-89.693091-78.103273-2.234182-32.581818-31.371636-54.272-40.354909-19.549091-8.936727 34.722909-20.154182 34.722909-53.806546 17.361455-33.605818-17.361455-4.468364-49.896727 24.669091-78.103273 29.137455-28.206545 4.468364-26.065455 4.468364-26.065455-127.767273 58.647273-147.921455 106.356364-147.921455 106.356364s-36.770909 33.559273-45.986909 100.724364z m765.579636-195.165091l-0.698182-6.144c-1.582545-7.261091-1.861818-13.265455-3.816727-20.945455 0-4.328727-2.234182-8.657455-2.234182-13.032727-2.234182-8.657455-6.749091-19.502545-8.983273-30.347636-29.137455 15.173818-64.977455 32.581818-74.007272 54.225454-17.873455 39.098182-62.743273 56.413091-80.663273 106.356364-29.137455 80.244364 8.983273 78.103273 15.685818 128 2.234182 23.831273-15.685818 28.206545-40.354909 19.549091-56.040727-21.736727-74.007273-13.032727-85.178182 26.018909-11.170909 39.051636 0 49.896727 0 49.896727-38.120727-4.328727-40.354909 39.051636-20.200727 49.896727 12.753455 8.192 23.458909 28.020364 34.071273 44.869818 156.439273-52.596364 268.753455-196.608 268.753454-365.940363a379.298909 379.298909 0 0 0-2.327273-42.402909z m-340.805818-48.779637c47.104-39.051636 22.434909-78.103273-2.234182-108.450909-24.669091-30.394182-44.823273-65.117091-56.040727-125.858909-11.170909-60.741818-42.589091-17.361455-51.572364-2.187636-8.936727 15.220364-24.669091 30.394182-20.154182 91.136 4.468364 60.741818-40.354909 23.877818-56.040727 106.309818-15.685818 82.432 22.388364 95.464727 82.944 95.464727 60.509091 0 56.040727-17.361455 103.098182-56.413091z m192.837818 4.328728c15.685818 8.704 56.040727-15.173818 47.057455-41.192728-8.983273-26.065455-35.84-10.845091-49.338182 0-13.451636 10.845091-13.451636 32.535273 2.280727 41.192728z" horiz-adv-x="1024" />
<glyph glyph-name="xitongguanli" unicode="&#59266;" d="M402.318222 794.624A71.111111 71.111111 0 0 0 472.803556 856.291556h79.416888c35.726222 0 65.934222-26.567111 70.542223-62.008889l9.216-71.907556c40.789333-14.392889 78.506667-36.124444 111.502222-63.943111l66.844444 27.477333a71.111111 71.111111 0 0 0 88.576-30.264889l39.708445-68.721777a71.111111 71.111111 0 0 0-18.432-92.103111l-56.661334-43.235556a357.376 357.376 0 0 0-0.113777-129.649778l56.718222-43.804444a71.111111 71.111111 0 0 0 18.147555-91.818667l-39.708444-68.721778a71.111111 71.111111 0 0 0-88.974222-30.094222l-66.446222 27.704889c-32.938667-27.818667-70.712889-49.493333-111.502223-63.829333l-9.671111-72.135111a71.111111 71.111111 0 0 0-70.542222-61.610667H472.120889a71.111111 71.111111 0 0 0-70.542222 62.008889l-9.443556 73.159111a355.271111 355.271111 0 0 0-108.999111 63.601778l-69.12-28.444445a71.111111 71.111111 0 0 0-88.632889 30.264889l-39.708444 68.778667a71.111111 71.111111 0 0 0 18.488889 92.046222l59.619555 45.511111a357.489778 357.489778 0 0 0 0 125.155556l-59.562667 46.023111a71.111111 71.111111 0 0 0-18.204444 91.818666l39.765333 68.778667a71.111111 71.111111 0 0 0 88.917334 30.037333l68.721777-28.672a355.214222 355.214222 0 0 0 109.056 63.544889l9.898667 73.386667z m82.944-23.665778l-15.644444-115.882666-27.249778-7.395556a269.937778 269.937778 0 0 1-119.978667-69.973333l-20.195555-20.309334-108.828445 45.397334-27.249777-47.160889 93.582222-72.248889-7.224889-27.306667a270.677333 270.677333 0 0 1 0-138.069333l7.224889-27.534222-93.866667-71.68 27.192889-47.160889 109.169778 44.828444 20.081778-20.138666a269.937778 269.937778 0 0 1 119.921777-70.030223l27.420445-7.509333 14.961778-115.825778h54.442666l15.530667 115.256889 27.704889 7.224889a269.824 269.824 0 0 1 122.083555 69.916444l20.195556 20.081778 106.382222-44.373333 27.192889 47.160889-90.965333 70.257778 7.452444 27.477333a270.620444 270.620444 0 0 1 0.056889 141.767111l-7.452444 27.648 91.249777 69.688889-27.192889 47.160889-106.666666-43.804445-20.138667 20.024889a269.824 269.824 0 0 1-122.026667 69.973334l-27.875555 7.224888-14.848 115.313778H485.262222zM512 229.034667a156.444444 156.444444 0 1 1 0 312.888889 156.444444 156.444444 0 0 1 0-312.888889z m0 85.333333a71.111111 71.111111 0 1 0 0 142.222222 71.111111 71.111111 0 0 0 0-142.222222z" horiz-adv-x="1024" />
......
{
"pointSymbol": {
"bufferSymbol": {
"type": "simple-marker",
"style": "circle",
"color": "black",
"size": "8px",
"outline": {
"color": [ 255, 255, 0 ],
"width": 1
}
}
},
"lineSymbol": {
......@@ -32,6 +41,24 @@
"color": "#006cff",
"width": 2
}
},
"bufferSymbol": {
"type": "simple-fill",
"color": [ 86,81, 81, 0.5 ],
"style": "solid",
"outline": {
"color": [45,44,44,1],
"width": 2
}
},
"bufferGeoSymbol": {
"type": "simple-fill",
"color": [ 86,81, 81, 0.5 ],
"style": "solid",
"outline": {
"color": [45,44,44,1],
"width": 0
}
}
}
}
\ No newline at end of file
......
[{
"label":"专题树",
"id":"1",
"type":"layerGroup",
"children":[
{
"label":"西安市阎良区",
"id":"1-1",
"type":"layerGroup",
"children":[{
"label":"行政区划",
"id":"1-1-1",
"type":"layerGroup",
"children":[
{
"label":"行政区界限",
"id":"1-1-1-1",
"type":"layer",
"layerId":20,
"children":null
},
{
"label":"行政区",
"id":"1-1-1-2",
"type":"layer",
"layerId":19,
"children":null
}
]
},
{
"label":"地籍分区",
"id":"1-1-2",
"type":"layerGroup",
"children":[
{
"label":"地籍区",
"id":"1-1-2-1",
"type":"layer",
"layerId":13,
"children":null
},
{
"label":"地籍子区",
"id":"1-1-2-2",
"type":"layer",
"layerId":14,
"children":null
}
]
},
{
"label":"不动产单元",
"id":"1-1-3",
"type":"layerGroup",
"children":[
{
"label":"线状定着物",
"id":"1-1-3-1",
"type":"layer",
"layerId":7,
"children":null
},
{
"label":"宗海",
"id":"1-1-3-2",
"type":"layer",
"layerId":9,
"children":null
},
{
"label":"宗地",
"id":"1-1-3-3",
"type":"layer",
"layerId":8,
"children":null
},
{
"label":"林权",
"id":"1-1-3-4",
"type":"layer",
"layerId":5,
"children":null
},
{
"label":"构筑物",
"id":"1-1-3-5",
"type":"layer",
"layerId":2,
"children":null
},
{
"label":"面状定着物",
"id":"1-1-3-6",
"type":"layer",
"layerId":6,
"children":null
},
{
"label":"界址线",
"id":"1-1-3-7",
"type":"layer",
"layerId":4,
"children":null
},
{
"label":"点状定着物",
"id":"1-1-3-8",
"type":"layer",
"layerId":1,
"children":null
},
{
"label":"自然幢",
"id":"1-1-3-9",
"type":"layer",
"layerId":10,
"children":null
},
{
"label":"界址点",
"id":"1-1-3-10",
"type":"layer",
"layerId":4,
"children":null
}
]
},
{
"label":"自然地理",
"id":"1-1-4",
"type":"layerGroup",
"children":[
{
"label":"辅助面",
"id":"1-1-4-1",
"type":"layer",
"layerId":15,
"children":null
},
{
"label":"植被",
"id":"1-1-4-2",
"type":"layer",
"layerId":17,
"children":null
},
{
"label":"水系",
"id":"1-1-4-3",
"type":"layer",
"layerId":16,
"children":null
}
]
}
]
}]
}]
\ No newline at end of file
......@@ -160,9 +160,7 @@ export default {
case '/search':
source = '0,1,2'
break;
case '/manage':
source = '0,1,2'
break;
default:
break;
}
......
......@@ -523,7 +523,7 @@ export default {
//当确定导入图形是 跳转到图形界面
this.queryGeoByBsm(BSM,type,function (features){
if(features && features.length > 0){
if(features[0].geometry){
if(features[0].geometry && features[0].geometry.rings.length > 0){
self.$confirm('该条数据有地块信息,是否继续导入?', '提示', {
confirmButtonText: '继续',
cancelButtonText: '取消',
......
......@@ -165,7 +165,9 @@ export default {
if(layer){
var graphics = layer.graphics;
if(graphics.length > 0 && graphics.items[0].attributes.BSM == bsm){
view.extent = graphics.items[0].geometry.extent;
// view.extent = graphics.items[0].geometry.extent;
view.center = graphics.items[0].geometry.extent.center;
view.zoom = 15;
}
}else {
this.$message.warning("暂无图形信息!!!");
......@@ -323,7 +325,9 @@ export default {
layer.add(graphic);
var extent = new Extent(JSON.parse(JSON.stringify(graphic.geometry.extent)))
extent.spatialReference = view.spatialReference;
view.extent = extent;
// view.extent = extent;
view.center = extent.center;
view.zoom = 15;
}).catch(err => {
console.log(err);
......@@ -493,7 +497,9 @@ export default {
var graphic = features[0];
graphic.symbol = symbol;
layer.add(graphic);
view.extent = graphic.geometry.extent;
// view.extent = graphic.geometry.extent;
view.center = graphic.geometry.extent.center;
view.zoom = 15;
}).catch( err => {
thow(err);
})
......
<template>
<div>
<div id="changemap">
<div v-for="(n,i) in layerArr" :key="i">
<div :title="n.text" @click="change(i,n.basemap)">
<img :src="require('../../assets/images/map/'+n.img)" />
<span></span>
<span></span>
<span></span>
<span></span>
<span>{{n.text}}</span>
</div>
</div>
</div>
</div>
</template>
<script>
export default {
props:{
viewId:{
type:String,
default:""
}
},
data() {
return {
layerArr: [
{
img: "shiliang.png",
text: "矢量图",
basemap: '' //hybrid img
},
{
img: "yingxiang.png",
text: "影像图",
basemap: 'hybrid' //hybrid img
}
]
};
},
methods: {
change(index, basemap) {
debugger
/*var view = maps.threeDView,map = null;
if(view){
map = view.map;
}else {
console.log("mapView不存在");
}
map.basemap = basemap; // streets
index > 0 && this.layerArr.unshift(this.layerArr.splice(index, 1)[0]);*/
}
}
};
</script>
<style scoped>
#changemap {
/* background-color: #0ff; */
display: flex;
flex-wrap: wrap-reverse;
flex-direction: row-reverse;
align-content: flex-start;
max-width: 75px;
max-height: 75px;
overflow: auto;
}
#changemap > div {
width: 75px;
height: 75px;
box-sizing: border-box;
padding: 5px;
}
#changemap:hover {
max-width: 300px;
max-height: 300px;
transition: max-height 0.3s linear 0s;
}
#changemap > div > div {
height: 100%;
width: 100%;
border: 1px solid #ccc;
display: flex;
justify-content: center;
align-items: center;
position: relative;
overflow: hidden;
cursor: pointer;
}
#changemap > div > div > img {
height: 100%;
width: 100%;
display: block;
}
#changemap > div > div > span {
transition: all 0.4s linear 0s;
position: absolute;
height: 50%;
width: 50%;
background-color: rgba(0, 0, 0, 0.4);
}
#changemap > div > div > span:nth-of-type(1) {
top: 0px;
left: 0px;
}
#changemap > div > div > span:nth-of-type(2) {
top: 0px;
right: 0px;
}
#changemap > div > div > span:nth-of-type(3) {
bottom: 0px;
left: 0px;
}
#changemap > div > div > span:nth-of-type(4) {
bottom: 0px;
right: 0px;
}
#changemap > div > div > span:nth-of-type(5) {
width: 100%;
height: 30%;
bottom: 0px;
left: 0px;
color: #fafafa;
overflow: hidden;
/* text-align: center; */
font-size: 12px;
display: flex;
justify-content: center;
align-items: center;
}
#changemap > div > div:hover span:nth-of-type(1) {
left: -50%;
top: -50%;
}
#changemap > div > div:hover span:nth-of-type(2) {
top: -50%;
right: -50%;
}
#changemap > div > div:hover span:nth-of-type(3) {
bottom: -50%;
left: -50%;
}
#changemap > div > div:hover span:nth-of-type(4) {
bottom: -50%;
right: -50%;
}
</style>
......@@ -32,7 +32,7 @@ export default{
}else if(typeof parames[i].value == 'number'){
where += parames[i].name + " =" + parames[i].value ;
}else{
where += parames[i].name + " =" + "'" + parames[i].value +"'";
where += parames[i].name + " like " + "'%" + parames[i].value +"%'";
}
}
} else {
......
......@@ -34,7 +34,7 @@
</div>
<div class="top-items tuOrShu" >
<i class="iconfont iconiconset0403" style="color:#006CFF;font-size:30px" title="图形管理" v-if="!isMap" @click="goMap"></i>
<i class="iconfont icondiqiu" style="color:#006CFF;font-size:30px" title="图形管理" v-if="!isMap" @click="goMap"></i>
<i class="iconfont iconxinxi" style="color:#006CFF;font-size:30px" title="属性管理" v-else @click="goBack"></i>
</div>
</div>
......
......@@ -5,7 +5,20 @@
</div>
<EsriMap :viewId = "viewId" :afterLoaderFunction="addLayer"></EsriMap>
<div class="searchDiv">
<el-input placeholder="请输入标识码" clearable v-model="inputBsm"> <el-button slot="append" type="primary" icon="el-icon-search" @click="doSearch"></el-button> </el-input>
<el-input placeholder="请输入宗地代码或不动产单元号" clearable @focus = "isShowCondition = true" v-model="inputBsm"> <el-button slot="append" type="primary" icon="el-icon-search" @click="doSearch"></el-button> </el-input>
<!-- 搜索条件选择 -->
<div class="searchCondition" v-if="isShowCondition">
<ul>
<li @click="fieldName = 'ZDDM'">
<i class="iconfont iconzongdidaima"></i>
<span>宗地代码</span>
</li>
<li @click="fieldName = 'BDCDYH'">
<i class="iconfont iconbudongchandanyuanhao"></i>
<span>不动产单元号</span>
</li>
</ul>
</div>
<!--搜索弹出框-->
<div class="searchResult" v-show="dialogVisible">
<div class="-header">
......@@ -15,7 +28,7 @@
</span>
</div>
<el-card class="box-card">
<div slot="header" class="clearfix">
<div slot="header" class="clearfix" v-show="resultLayers.length > 1">
<!-- 图层选择-->
<span class="formTitle">图层选择:</span>
<el-select v-model="selectResLayerId" size="mini" @change="selectLayerChange" placeholder="请选择">
......@@ -35,15 +48,45 @@
<a href="#" @click="toMap(item)">缩放至</a>
</P>
<hr />
<div class="contentItem" v-for="(value,key,index) in item.attributes" :key="index">
<!-- <div class="contentItem" v-for="(value,key,index) in item.attributes" :key="index">
<span class="key">{{key}}</span>
<span class="value" :title="value">{{value == 'Null' ?"":value}}</span>
</div> -->
<div class="contentItem">
<span class="key">宗地代码:</span>
<span class="value" :title="item.attributes['宗地代码']">{{item.attributes['宗地代码'] == 'Null'?"":item.attributes['宗地代码']}}</span>
</div>
<div class="contentItem">
<span class="key">不动产单元号:</span>
<span class="value" :title="item.attributes['不动产单元号']">{{item.attributes['不动产单元号'] == 'Null'?"":item.attributes['不动产单元号']}}</span>
</div>
<div class="contentItem">
<span class="key">项目名称:</span>
<span class="value" :title="item.attributes['项目名称']">{{item.attributes['项目名称'] == 'Null'?"":item.attributes['项目名称']}}</span>
</div>
<div class="contentItem">
<span class="key">不动产证号:</span>
<span class="value" :title="item.attributes['不动产证号']">{{item.attributes['不动产证号'] == 'Null'?"":item.attributes['不动产证号']}}</span>
</div>
<div class="contentItem">
<span class="key">权利人:</span>
<span class="value" :title="item.attributes['权利人']">{{item.attributes['权利人'] == 'Null'?"":item.attributes['权利人']}}</span>
</div>
<div class="contentItem">
<span class="key">坐落:</span>
<span class="value" :title="item.attributes['坐落']">{{item.attributes['坐落'] == 'Null'?"":item.attributes['坐落']}}</span>
</div>
</div>
</el-card>
</div>
</div>
<!-- 侧边栏 -->
<div class="rightSide">
<side-tools :viewId="viewId"></side-tools>
</div>
<div class="changeMap">
<ChangeMap :viewId="viewId"></ChangeMap>
</div>
</div>
</template>
<script>
......@@ -54,12 +97,17 @@ import {maps} from '@/libs/map/mapUtils'
import mapLayerManager from "./mapWeight/js/mapLayerManager";
import layers from '@/assets/json/layers.json'
import findTask from '@/libs/map/findTask'
import ChangeMap from "@/components/map/ChangeMap";
import sideTools from "./mapWeight/sideTools.vue"
export default {
inject:['getRightTree','getTreeByBsm'],
components:{
EsriMap,
MapTools
MapTools,
ChangeMap,
sideTools
},
data(){
return{
......@@ -71,7 +119,9 @@ export default {
resultLayers:[],
results:[],
inputBsm:"",
heighGraphic:null
fieldName:"BDCDYH",
heighGraphic:null,
isShowCondition:false
}
},
mixins:[mapLayerManager,findTask],
......@@ -96,7 +146,9 @@ export default {
addLayer(){
var self = this;
var view = maps[this.viewId];
view.ui.remove('zoom');
// view.ui.remove('zoom');
view.ui.remove("attribution");
view.ui.move(["zoom"], "bottom-right");
loadModules([
"esri/layers/MapImageLayer"
]).then(([
......@@ -153,15 +205,31 @@ export default {
},
//属性查询
doSearch(){
this.closeResultDialog();
var self = this;
if(!this.fieldName){
this.$message.warning(" 请选择要查询的字段!!!");
return;
}
if(this.fieldName == 'ZDDM'){
if(!this.inputBsm){
this.$message.warning("请输入宗地代码!!!");
return;
}else if(this.inputBsm.length != 19){
this.$message.warning("输入宗地代码有误,请重新输入!!!");
return;
}
} else if(this.fieldName == 'BDCDYH'){
if(!this.inputBsm){
this.$message.warning(" 请输入标识码!!!");
this.$message.warning("请输入不动产单元号!!!");
return;
}else if(this.inputBsm.length != 32){
this.$message.warning("标识码格式输入有误!!!");
}else if(this.inputBsm.length != 28){
this.$message.warning("输入不动产单元有误,请重新输入!!!");
return;
}
this.findByPro(this.layerUrl,[8,10],'BSM',this.inputBsm,true,function (res) {
}
this.isShowCondition = false;
this.findByPro(this.layerUrl,[8,10],this.fieldName,this.inputBsm,true,function (res) {
var resultes = res.results;
if(resultes && resultes.length > 0){
self.delIdentifyData(resultes);
......@@ -193,6 +261,9 @@ export default {
self.features = [];
self.resultLayers = [];
this.heighGraphic = null;
//清除查询图层
this.clearSearchLayer(this.viewId);
for(var i = 0;i < data.length;i++){
var layerId = data[i].layerId;
var layer = self.getLayerById(layerId);
......@@ -232,6 +303,8 @@ export default {
}
}
}
self.selectResLayerId = self.resultLayers.length > 0 ? self.resultLayers[0].id : null;
this.selectLayerChange();
this.addSearchResultToMap(this.results,this.viewId);
},
getLayerById(layerId){
......@@ -259,18 +332,52 @@ export default {
position: absolute;
top: 12px;
z-index: 99;
right: 5px;
right: 21px;
}
.searchDiv{
position: absolute;
top: 12px;
left: 7px;
width: 30%;
width: 25%;
max-height: 100%;
/deep/ .el-input-group__append{
background-color: #409eff;
color: white;
}
.searchCondition{
width: 100%;
line-height: 60px;
background-color: #FFFFFF;;
border-radius: 4px;
margin-top: 6px;
box-shadow: 0px 1px 1px 1px rgba(0, 0, 0, 0.12);
ul{
//height: 40px;
display: inline-flex;
width: 100%;
li{
width: 50%;
text-align: center;
}
li :hover{
cursor:pointer
}
}
i{
font-size: 24px;
margin-right: 3px;
}
span{
font-size: 14px;
color: #4A4A4A;
}
.iconzongdidaima{
color: #44AEFF;
}
.iconbudongchandanyuanhao{
color: #F39835;
}
}
.searchResult{
margin-top: 3px;
background: white;
......@@ -319,12 +426,14 @@ export default {
display: flex;
font-size: 14px;
width: 100%;
line-height: 23px;
line-height: 30px;
align-items: center;
font-weight: 400;
.key{
width: 30%;
margin: 5px 3px;
text-align: right;
color: #505050;
}
.value{
width: 70%;
......@@ -332,6 +441,7 @@ export default {
text-overflow:ellipsis;
white-space:nowrap;
word-break:keep-all;
color: #999999;
}
}
......@@ -342,5 +452,18 @@ export default {
}
}
}
.changeMap{
position: absolute;
bottom: 8px;
right: 52px;
}
.rightSide{
position: absolute;
top: 10%;
right: 21px;
}
/deep/ .esri-ui-bottom-right{
bottom: -17px;
}
}
</style>
\ No newline at end of file
......
<template>
<div>
<ul class="uploadDiv" v-if="!resultDialog && !txtResultDialog">
<li>
<el-upload
class="avatar-uploader"
action="#"
accept=".txt"
:auto-upload="false"
:on-change="txtFileChange"
:show-file-list="false"
>
<i class="el-icon-upload"></i>
<div class="title">TXT文本格式</div>
<div class="templateDowload">
<a href="#" @click.stop="downloadFile('./fileTemplate/txttemplet.txt','txttemplet.txt')">TXT模板下载</a>
</div>
</el-upload>
</li>
<li>
<el-upload
class="avatar-uploader"
action="/api/tx/shpUtils/readShp"
accept=".zip"
:show-file-list="false"
:on-success="shpFileSuccess"
>
<i class="el-icon-upload"></i>
<div class="title">ESRI Shape文件格式</div>
</el-upload>
</li>
<li>
<el-upload
class="avatar-uploader"
:show-file-list="false"
action="https://jsonplaceholder.typicode.com/posts/"
accept=".dwg,.dxf"
>
<i class="el-icon-upload"></i>
<div class="title">CAD文件</div>
</el-upload>
</li>
<li>
<el-upload
class="avatar-uploader"
action="/api/tx/excelGeo/readExcel"
accept=".xls,.xlsx"
:show-file-list="false"
:on-success="excelFileSuccess"
>
<i class="el-icon-upload"></i>
<div class="title">Excel文件格式</div>
<div class="templateDowload">
<a href="#" @click.stop="downloadFile('./fileTemplate/exceltemplet.xlsx','exceltemplet.xlsx')">Excel模板下载</a>
</div>
</el-upload>
</li>
</ul>
<div v-if="resultDialog">
<el-form :model="zdForm" ref="zdCheckForm" label-width="100px" size="small" @submit.native.prevent class="demo-ruleForm">
<el-form-item
label="宗地"
prop="zdBsm"
:rules="[
{ required: true, message: '请选择宗地', trigger: 'change' },
]"
>
<el-select v-model="zdForm.zdBsm" filterable placeholder="请选择" @change="zdChange">
<el-option
v-for="item in resultData"
:key="item.objectid"
:label="item.XMMC"
:value="item">
</el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="submitForm('zdCheckForm')">导入</el-button>
<el-button @click="cancel('zdCheckForm')">取消</el-button>
</el-form-item>
</el-form>
</div>
<div v-if="txtResultDialog">
<el-form :model="txtZd" ref="txtZdForm" label-width="100px" size="small" @submit.native.prevent class="demo-ruleForm">
<el-form-item
label="地块名称"
prop="name"
:rules="[
{ required: true, message: '请选择地块', trigger: 'change' },
]"
>
<el-select v-model="txtZd.name" filterable placeholder="请选择" @change="txtChange">
<el-option
v-for="(item,index) in txtResult"
:key="index"
:label="item.attributes.name"
:value="item.attributes.name">
</el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="submitTxtForm('txtZdForm')">导入</el-button>
<el-button @click="cancelTxtForm('txtZdForm')">取消</el-button>
</el-form-item>
</el-form>
</div>
</div>
</template>
<script>
import mapTools from "./js/mapTools";
export default {
data(){
return{
resultData:[],
resultDialog:false,
zdForm:{
zdBsm: ""
},
currentClickZd:null,
txtResult:[],
txtResultDialog:null,
txtZd:{
name:""
}
}
},
mixins:[mapTools],
methods:{
downloadFile(url,fileName){
let link = document.createElement("a");
link.style.display = "none";
link.href = url;
link.setAttribute("download", fileName);
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
},
txtFileChange(file, fileList){
var self = this;
var fileReader = new FileReader();
fileReader.readAsText(file.raw);
fileReader.onload = function (res){
var content = this.result;
if(!content || content.length == 0){
self.$message.warning("文件内容为空!!!");
return;
}
self.analysisTextFile(content);
}
},
analysisTextFile(content){
var index = content.indexOf("[地块坐标]"),
geoInfos = content.substr(index),
geoList = geoInfos.split("\n");
if(geoList.length < 1){
this.$message.warning("文本内容格式有误,请效验文本内容格式!!!");
return;
}
//this.$emit("closeImportDialog");
var features = [],attributes = {},points = [],j = 1;
for(var i =1;i < geoList.length;i++){
var rowData = geoList[i];
if((rowData.indexOf("J") != -1 && rowData.indexOf("J") == 0)||(rowData.indexOf("j") != -1 && rowData.indexOf("j") == 0)){
//解析坐标点信息
var pointInfo = rowData.split(",");
var point = [parseFloat(pointInfo[2]),parseFloat(pointInfo[3])];
points.push(point);
}else {
if(points.length > 0){
var graphic = {
attributes:JSON.parse(JSON.stringify(attributes)),
geometry:{
rings:[points]
}
}
features.push(graphic);
}
//新建一个信息 坐标名称 类型
attributes = {};
points = []
var info = rowData.split(",");
if(info[3] || info[3] == 'null'){
attributes.name = '地块'+j;
j++
}else {
attributes.name = info[3];
}
}
}
if(points.length > 0){
var graphic = {
attributes:JSON.parse(JSON.stringify(attributes)),
geometry:{
rings:[[points.concat()]]
}
}
features.push(graphic);
}
//新建一个信息 坐标名称 类型
attributes = {};
points = []
this.txtResult = features;
this.txtZd.name = "";
this.txtResultDialog = true;
},
shpFileSuccess(response, file, fileList){
var self = this;
if(response.success){
this.resultData = response.result;
this.resultDialog = true;
}else {
this.$message.warning(response.message);
}
},
excelFileSuccess(response, file, fileList){
var self = this;
if(response.success){
var result = response.result;
var points = [];
for(var i = 0;i < result.length;i++){
var point = [];
point[0] = parseFloat(result[i].x);
point[1] = parseFloat(result[i].y);
points.push(point);
}
var wkt = "PROJCS[\"XADFZBX\",GEOGCS[\"GCS_WGS_1984\",DATUM[\"D_WGS_1984\",SPHEROID[\"WGS_1984\",6378137.0,298.257223563]],PRIMEM[\"Greenwich\",0.0],UNIT[\"Degree\",0.0174532925199433]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"False_Easting\",0.0],PARAMETER[\"False_Northing\",0.0],PARAMETER[\"Central_Meridian\",0.0],PARAMETER[\"Scale_Factor\",1.0],PARAMETER[\"Latitude_Of_Origin\",0.0],UNIT[\"Meter\",1.0]]";
var geometry = {
rings:[points],
spatialReference:{
wkt:wkt
},
type:"polygon"
}
//self.checkGeo(graphic);
self.$emit("setGeometry",geometry);
}else{
this.$message.warning(response.message);
}
},
//导入
submitForm(formName){
//校验完整性 直接调用空间方法 提交空间表
var self = this;
this.$refs[formName].validate((valid) => {
if (valid) {
var geometry = self.parseWktToArc(self.currentClickZd.wkt);
geometry.type = "polygon";
var wkt = "PROJCS[\"XADFZBX\",GEOGCS[\"GCS_WGS_1984\",DATUM[\"D_WGS_1984\",SPHEROID[\"WGS_1984\",6378137.0,298.257223563]],PRIMEM[\"Greenwich\",0.0],UNIT[\"Degree\",0.0174532925199433]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"False_Easting\",0.0],PARAMETER[\"False_Northing\",0.0],PARAMETER[\"Central_Meridian\",0.0],PARAMETER[\"Scale_Factor\",1.0],PARAMETER[\"Latitude_Of_Origin\",0.0],UNIT[\"Meter\",1.0]]";
geometry.spatialReference = {
wkt:wkt
}
var graphic = {
attributes:self.currentClickZd,
geometry:geometry
}
// self.checkGeo(graphic);
self.resultDialog = false;
self.$emit("setGeometry",geometry);
} else {
console.log('error submit!!');
return false;
}
});
},
//文本文档导入
submitTxtForm(formName){
var self = this;
this.$refs[formName].validate((valid) => {
if(valid){
var wkt = "PROJCS[\"XADFZBX\",GEOGCS[\"GCS_WGS_1984\",DATUM[\"D_WGS_1984\",SPHEROID[\"WGS_1984\",6378137.0,298.257223563]],PRIMEM[\"Greenwich\",0.0],UNIT[\"Degree\",0.0174532925199433]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"False_Easting\",0.0],PARAMETER[\"False_Northing\",0.0],PARAMETER[\"Central_Meridian\",0.0],PARAMETER[\"Scale_Factor\",1.0],PARAMETER[\"Latitude_Of_Origin\",0.0],UNIT[\"Meter\",1.0]]";
var graphics = self.txtResult.filter(item => {
return item.attributes.name == self.txtZd.name;
})
var graphic = graphics[0];
graphic.geometry.type = "polygon";
graphic.geometry.spatialReference = {
wkt:wkt
}
//self.checkGeo(graphic);
self.txtResultDialog = false;
self.$emit("setGeometry",geometry);
}else{
console.log('error submit!!');
return false;
}
})
},
//取消
cancel(){
this.zdForm.zdBsm = "";
this.currentClickZd = null;
this.resultDialog = false;
// 清空当前图层上显示的图形
this.clearOverLayer();
},
//取消文本选择的弹出框
cancelTxtForm(){
this.txtZd.name = "";
this.txtResultDialog = false;
// 清空当前图层上显示的图形
this.clearOverLayer();
},
//宗地选择发生改变
zdChange(value){
this.zdForm.zdBsm = value.XMMC;
this.currentClickZd = value;
var geometry = this.parseWktToArc(this.currentClickZd.wkt);
geometry.type = "polygon";
var wkt = "PROJCS[\"XADFZBX\",GEOGCS[\"GCS_WGS_1984\",DATUM[\"D_WGS_1984\",SPHEROID[\"WGS_1984\",6378137.0,298.257223563]],PRIMEM[\"Greenwich\",0.0],UNIT[\"Degree\",0.0174532925199433]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"False_Easting\",0.0],PARAMETER[\"False_Northing\",0.0],PARAMETER[\"Central_Meridian\",0.0],PARAMETER[\"Scale_Factor\",1.0],PARAMETER[\"Latitude_Of_Origin\",0.0],UNIT[\"Meter\",1.0]]";
geometry.spatialReference = {
wkt:wkt
}
this.addOverLayer(geometry);
},
txtChange(value){
var wkt = "PROJCS[\"XADFZBX\",GEOGCS[\"GCS_WGS_1984\",DATUM[\"D_WGS_1984\",SPHEROID[\"WGS_1984\",6378137.0,298.257223563]],PRIMEM[\"Greenwich\",0.0],UNIT[\"Degree\",0.0174532925199433]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"False_Easting\",0.0],PARAMETER[\"False_Northing\",0.0],PARAMETER[\"Central_Meridian\",0.0],PARAMETER[\"Scale_Factor\",1.0],PARAMETER[\"Latitude_Of_Origin\",0.0],UNIT[\"Meter\",1.0]]";
var graphics = this.txtResult.filter(item => {
return item.attributes.name == value;
})
var graphic = graphics[0];
graphic.geometry.type = "polygon";
graphic.geometry.spatialReference = {
wkt:wkt
}
this.addOverLayer(graphic.geometry);
},
}
}
</script>
<style scoped lang="less">
.uploadDiv{
display: flex;
justify-content:center;
li{
margin: 5px;
width: 20%;
/deep/ .el-upload--picture-card{
width: 100%;
}
.title{
line-height: 1;
margin-top: -57px;
font-size: 14px;
}
.templateDowload{
line-height: 1;
margin-top: 7px;
}
}
}
</style>
\ No newline at end of file
import layers from '@/assets/json/layers.json'
import layers from '@/assets/json/layers.json'
import graphicSymbol from '@/assets/json/graphicSymbol.json'
import queryUtils from "@libs/map/queryUtils";
import {loadModules} from "esri-loader"
......@@ -56,7 +56,9 @@ export default {
var graphic = features[0];
graphic.symbol = symbol;
layer.add(graphic);
view.extent = graphic.geometry.extent;
// view.extent = graphic.geometry.extent;
view.center = graphic.geometry.extent.center;
view.zoom = 15;
}).catch( err => {
thow(err);
})
......@@ -124,6 +126,37 @@ export default {
item.removeAll();
}
});
},
//给默认加载矢量图形中添加或者移除图层
addSublayers(viewId,layers){
var view = maps[viewId],
layer = view.map.findLayerById("testLayer");
for(var i = 0;i < layers.length;i++){
var sublayer = layer.findSublayerById(layers[i].layerId);
if(sublayer){
sublayer.visible = true;
}else{
sublayer = {
id:layers[i].layerId,
visible:true
}
layer.sublayers.push(sublayer);
}
}
},
removeSublayer(viewId,layers){
var view = maps[viewId],
layer = view.map.findLayerById("testLayer");
var items = layer.sublayers.items;
for(var i = 0;i < layers.length;i++){
for (var k = 0;k<items.length;k++) {
if(layers[i].layerId == items[k].id){
items.splice(k, 1);
break;
}
}
}
layer.sublayers = items;
}
}
}
\ No newline at end of file
......
import {loadModules} from 'esri-loader'
import {maps} from '@/libs/map/mapUtils'
import graphicSymbol from '@/assets/json/graphicSymbol.json'
import point from "shapefile/shp/point";
import queryUtils from "@libs/map/queryUtils";
import layers from '@/assets/json/layers.json'
import arcgisParser from 'terraformer-arcgis-parser'
import wktParse from 'terraformer-wkt-parser'
export default {
methods:{
getLayerByName(name) {
for (var i = 0; i < layers.length; i++) {
if (layers[i].layerName == name) {
return layers[i];
}
}
return null;
},
//创建buffer图形
createBuffer(geometry,distance,viewId,callBackFunction){
loadModules([
"esri/geometry/geometryEngine",
"esri/Graphic",
"esri/layers/GraphicsLayer"
]).then(([
geometryEngine,
Graphic,
GraphicsLayer
])=>{
var view = maps[viewId];
var bufferGeometry = geometryEngine.buffer(geometry,distance,'meters',true);
var layer = view.map.findLayerById("identifyLayer");
if(layer){
layer.removeAll();
}else {
layer = new GraphicsLayer({
id:"identifyLayer"
})
view.map.add(layer);
}
var symbol = geometry.type == 'point' ? graphicSymbol.pointSymbol.bufferSymbol : graphicSymbol.fillSymbol.bufferSymbol;
var oldGraphic = new Graphic({
geometry:geometry,
symbol:symbol
})
layer.add(oldGraphic);
var graphic = new Graphic({
geometry:bufferGeometry,
symbol:graphicSymbol.fillSymbol.bufferGeoSymbol
})
layer.add(graphic);
if(callBackFunction && typeof callBackFunction == 'function'){
callBackFunction(bufferGeometry);
}
}).catch(err => {
console.log(err);
})
},
queryAttributes(url,where,callbackFunction){
queryUtils.methods.queryByWhere(url,where,null,false,"",null,function (res) {
var features = res.features;
if(callbackFunction && typeof callbackFunction == 'function'){
callbackFunction(features);
}
})
},
//清除缓冲图层
clearBufferLayer(viewId){
var view = maps[viewId];
var layer = view.map.findLayerById("identifyLayer");
if(layer){
layer.removeAll();
}
},
//查询地籍区/地籍子区根据区域代码
queryDjqByDm(url,type,dm,callBackFunction){
var where = "";
if(type == 'djq'){
where = {"DJQDM":dm}
}else if(type == 'djzq'){
where = {"DJZQDM":dm}
}
queryUtils.methods.queryByWhere(url,where,null,true,"","",function (res) {
var features = res.features;
if(callBackFunction && typeof callBackFunction == 'function'){
callBackFunction(features);
}
});
},
parseWktToArc(wkt){
var primitive = wktParse.parse(wkt);
/*if(primitive.type == "MultiPolygon"){
primitive.type = "Polygon"
}*/
return arcgisParser.convert(primitive)
},
//添加添加元素和覆盖的元素到地图上
addOverLayer(geometry){
var view = maps["testMap"];
loadModules([
"esri/Graphic",
"esri/geometry/Polygon",
"esri/layers/GraphicsLayer",
"esri/geometry/geometryEngineAsync",
"esri/geometry/Extent"
]).then(([
Graphic,
Polygon,
GraphicsLayer,
geometryEngineAsync,
Extent
])=>{
var graphic = new Graphic({
geometry:geometry
})
var layer = view.map.findLayerById("identifyLayer");
if(layer){
layer.removeAll();
}else {
layer = new GraphicsLayer({
id:"overLayer"
})
view.map.add(layer);
}
var impotSymbol = graphicSymbol.fillSymbol.importSymbol;
graphic.symbol = impotSymbol;
layer.add(graphic);
var extent = new Extent(JSON.parse(JSON.stringify(graphic.geometry.extent)))
extent.spatialReference = view.spatialReference;
// view.extent = extent;
view.center = extent.center;
view.zoom = 15;
}).catch(err => {
console.log(err);
})
},
}
}
\ No newline at end of file
<template>
<div class="tools">
<el-button-group>
<ul>
<li>
<i class="iconfont iconhangzhengqudaohang"></i>
<span>行政区导航</span>
</li>
<li>
<i class="iconfont iconkongjianchaxun"></i>
<span>空间查询</span>
</li>
<li>
<i class="iconfont iconzuobiaodingwei"></i>
<span>定位</span>
</li>
<li>
<i class="iconfont iconduopingduibi"></i>
<span>多屏对比</span>
</li>
<li @click="fullMap">
<i class="iconfont iconquantu"></i>
<span>全图</span>
</li>
<li @click="measureMent('distance')">
<i class="iconfont iconceju"></i>
<span>测距</span>
</li>
<li @click="measureMent('area')">
<i class="iconfont iconcemianji"></i>
<span>测面</span>
</li>
<li @click="zoomOut">
<i class="iconfont iconlakuangfangda"></i>
<span>放大</span>
</li>
<li @click="zoomIn">
<i class="iconfont iconlakuangsuoxiao"></i>
<span>缩小</span>
</li>
<li @click="info">
<i class="iconfont iconxinxi"></i>
<span>识别</span>
</li>
<li @click="clear">
<i class="iconfont iconqingchu"></i>
<span>清除</span>
</li>
</ul>
<!-- <el-button-group>
<el-button type="primary" title="全图" icon="iconfont iconquantu" @click="fullMap"></el-button>
<el-button type="primary" title="测面" icon="iconfont iconcemianji" @click="measureMent('area')"></el-button>
<el-button type="primary" title="测距" icon="iconfont iconceju" @click="measureMent('distance')"></el-button>
......@@ -9,8 +55,112 @@
<el-button type="primary" title="点选" icon="iconfont iconchaxunshuxing" @click="info"></el-button>
<el-button type="primary" title="缓冲区分析" icon="iconfont iconqingchu" @click="bufferAnalysis"></el-button>
<el-button type="primary" title="清除" icon="iconfont iconqingchu" @click="clear"></el-button>
</el-button-group>
</el-button-group> -->
<div class="bufferDialog" v-show="bufferDialog">
<el-tabs v-model="activeName" type="card" @tab-click="tabClick">
<el-tab-pane label="绘制范围" name="hzfw">
<div class="contentItem">
<span>绘制范围:</span>
<div class="drawTypes">
<el-button type="text" @click="bufferParams.drawType = 'point'"></el-button>
<el-button type="text" @click="bufferParams.drawType = 'circle'"></el-button>
<el-button type="text" @click="bufferParams.drawType = 'polygon'">任意多边形</el-button>
</div>
</div>
<div class="contentItem">
<span>缓冲距离:</span>
<el-input-number :min="0" v-model="bufferParams.distance" size="small"></el-input-number>
</div>
<div class="contentItem">
<span>图层选择:</span>
<el-select size="small" multiple v-model="bufferParams.layerId">
<el-option
v-for="item in bufferLayers"
:key="item.id"
:label="item.layerName"
:value="item.id">
</el-option>
</el-select>
</div>
<div class="buttonDiv">
<el-button size="small" type="primary" @click="toIdentity">确定</el-button>
<el-button size="small" @click="resetBufferParams">重置</el-button>
</div>
</el-tab-pane>
<el-tab-pane label="导入范围" name="drfw">
<div class="contentItem">
<span>绘制范围:</span>
<div class="drawTypes">
<i class="el-icon-plus" @click="openImportDialog"></i>
</div>
</div>
<div class="contentItem">
<span>缓冲距离:</span>
<el-input-number :min="0" v-model="bufferParams.distance" size="small"></el-input-number>
</div>
<div class="contentItem">
<span>图层选择:</span>
<el-select size="small" multiple v-model="bufferParams.layerId">
<el-option
v-for="item in bufferLayers"
:key="item.id"
:label="item.layerName"
:value="item.id">
</el-option>
</el-select>
</div>
<div class="buttonDiv">
<el-button size="small" type="primary" @click="importIdentity">确定</el-button>
<el-button size="small" @click="resetBufferParams">重置</el-button>
</div>
</el-tab-pane>
<el-tab-pane label="选择范围" name="xzfw">
<div class="contentItem">
<!--地籍区/地籍子区-->
<span>选择范围:</span>
<el-select v-model="bufferParams.selectDjq" filterable size="small" placeholder="请选择地籍区" @change="getDjzqList">
<el-option
v-for="(item,index) in djqList"
:key="index"
:label="item.mc"
:value="item.dm">
</el-option>
</el-select>
<el-select v-model="bufferParams.selectDjzq" filterable size="small" placeholder="请选择地籍子区">
<el-option
v-for="(item,index) in djzqList"
:key="index"
:label="item.mc"
:value="item.dm">
</el-option>
</el-select>
</div>
<div class="contentItem">
<span>缓冲距离:</span>
<el-input-number :min="0" v-model="bufferParams.distance" size="small"></el-input-number>
</div>
<div class="contentItem">
<span>图层选择:</span>
<el-select size="small" multiple v-model="bufferParams.layerId">
<el-option
v-for="item in bufferLayers"
:key="item.id"
:label="item.layerName"
:value="item.id">
</el-option>
</el-select>
</div>
<div class="buttonDiv">
<el-button size="small" type="primary" @click="toFwIdentity">确定</el-button>
<el-button size="small" @click="resetBufferParams">重置</el-button>
</div>
</el-tab-pane>
</el-tabs>
</div>
<el-dialog title="图形导入" :visible.sync="importDialog"
width="30%">
<import-geometry @setGeometry="setGeometry"></import-geometry>
</el-dialog>
</div>
</template>
<script>
......@@ -19,7 +169,10 @@ import draw from '@/libs/map/draw'
import identifyUtils from '@/libs/map/IdentifyUtils'
import measure from '@/libs/map/measure'
import mapTools from "./js/mapTools";
import {loadModules} from "esri-loader"
import importGeometry from './importGeometry'
export default {
props:{
viewId:{
......@@ -27,14 +180,51 @@ export default {
default:"mainView"
}
},
mixins:[draw,identifyUtils,measure],
mixins:[draw,identifyUtils,measure,mapTools],
components:{
importGeometry
},
data(){
return{
url:"http://192.168.2.201:6080/arcgis/rest/services/%E4%BA%92%E8%81%94%E7%BD%91%E5%8A%A0%E4%B8%8D%E5%8A%A8%E4%BA%A7/XA_%E4%B8%8D%E5%8A%A8%E4%BA%A7/MapServer",
selectResLayerId:"",
features:[],
resultLayers:[],
results:[]
results:[],
bufferParams:{
drawType:"",
distance:0,
layerId:[],
impotGeo:null,
selectDjq:"",
selectDjzq:""
},
activeName:'hzfw',
bufferLayers:[{
layerName:"宗地",
id:"8"
},
{
layerName:"自然幢",
id:"10"
},
{
layerName:"构筑物",
id:"2"
},
{
layerName:"林权",
id:"5"
},
{
layerName:"宗海",
id:"9"
}],
bufferDialog:false,
djqList:[],
djzqList:[],
importDialog:false,
importGeo:""
}
},
methods:{
......@@ -51,6 +241,7 @@ export default {
},
clear(){
this.measure(this.viewId,null);
this.$parent.closeResultDialog();
},
info(){
var view = maps[this.viewId];
......@@ -61,6 +252,8 @@ export default {
if(resultes && resultes.length > 0){
self.$parent.delIdentifyData(resultes);
self.$parent.dialogVisible = true;
}else{
self.$message.success("暂无数据!!!");
}
},true,'all',3,view.extent);
});
......@@ -100,9 +293,181 @@ export default {
},
//缓冲区分析
bufferAnalysis(){
this.bufferDialog = true;
},
//缓冲区分析执行语句
toIdentity(){
var self = this;
var view = maps[this.viewId];
for(var key in this.bufferParams){
if((key == 'distance' || key == 'layerId' || key == 'drawType')&&!this.bufferParams[key].toString()){
var name = "";
switch (key) {
case 'distance':name = '缓冲距离';break;
case 'layerId':name = '分析图层';break;
case 'drawType':name = '绘制类型';break;
}
key == 'distance'?this.$message.warning("请输入"+name):this.$message.warning("请选择"+name);
return;
}
}
this.initDraw(this.bufferParams.drawType,this.viewId,null,function(geo){
self.createBuffer(geo,self.bufferParams.distance,self.viewId,function (bufGeo) {
self.identify(self.url,self.bufferParams.layerId,bufGeo,function(res){
var resultes = res.results;
if(resultes && resultes.length > 0){
self.$parent.delIdentifyData(resultes);
self.$parent.dialogVisible = true;
}else{
self.$message.success("暂无数据!!!");
}
},true,'all',3,view.extent);
})
})
},
toFwIdentity(){
var self = this;
var view = maps[this.viewId];
for(var key in this.bufferParams){
if((key == 'distance' || key == 'layerId' || key == 'selectDjq')&&!this.bufferParams[key].toString()){
var name = "";
switch (key) {
case 'distance':name = '缓冲距离';break;
case 'layerId':name = '分析图层';break;
case 'selectDjq':name = '地籍区/地籍子区';break;
}
key == 'distance'?this.$message.warning("请输入"+name):this.$message.warning("请选择"+name);
return;
}
}
var layer = null,type = "",dm = "";
if(this.bufferParams.selectDjzq){
layer = this.getLayerByName("DJZQ");
type = 'djzq';
dm = this.bufferParams.selectDjzq;
}else if(this.bufferParams.selectDjq){
layer = this.getLayerByName("DJQ");
type = 'djq';
dm = this.bufferParams.selectDjq;
}
this.queryDjqByDm(this.url+"/"+layer.id,type,dm,function (features) {
if(features.length > 0){
self.createBuffer(features[0].geometry,self.bufferParams.distance,self.viewId,function (bufGeo) {
self.identify(self.url,self.bufferParams.layerId,bufGeo,function(res){
var resultes = res.results;
if(resultes && resultes.length > 0){
self.$parent.delIdentifyData(resultes);
self.$parent.dialogVisible = true;
}else{
self.$message.success("暂无数据!!!");
}
},true,'all',3,view.extent);
})
}
});
},
importIdentity(){
var self = this;
var view = maps[this.viewId];
if(!this.importGeo){
this.$message.warning("请导入空间范围!!");
return;
}
for(var key in this.bufferParams){
if((key == 'distance' || key == 'layerId')&&!this.bufferParams[key].toString()){
var name = "";
switch (key) {
case 'distance':name = '缓冲距离';break;
case 'layerId':name = '分析图层';break;
}
key == 'distance'?this.$message.warning("请输入"+name):this.$message.warning("请选择"+name);
return;
}
}
self.createBuffer(this.importGeo,self.bufferParams.distance,self.viewId,function (bufGeo) {
self.identify(self.url,self.bufferParams.layerId,bufGeo,function(res){
var resultes = res.results;
if(resultes && resultes.length > 0){
self.$parent.delIdentifyData(resultes);
self.$parent.dialogVisible = true;
}else{
self.$message.success("暂无数据!!!");
}
},true,'all',3,view.extent);
})
},
//清除缓冲区参数
resetBufferParams(){
//清除参数
for(var key in this.bufferParams){
if(key == 'distance'){
this.bufferParams[key] = 0;
}else if(key == 'layerId'){
this.bufferParams[key] = []
} else {
this.bufferParams[key] = "";
}
}
//清除结果图层和绘制图层
this.$parent.closeResultDialog();
this.clearBufferLayer();
},
//获取地籍区/地籍子区数据
getDjqList(){
var self = this;
var djqLayer = this.getLayerByName("DJQ");
this.queryAttributes(this.url+"/"+djqLayer.id,"",function (features) {
//self.djqAndDjzq.concat = features;
if(features != null){
for(var i = 0;i < features.length;i++){
var obj = {
dm:features[i].attributes.DJQDM,
mc:features[i].attributes.DJQMC,
type:"djq"
}
self.djqList.push(obj);
}
}
})
},
//获取地籍子区
getDjzqList(){
var self = this,
djzqLayer= this.getLayerByName("DJZQ");
self.djzqList = [];
this.queryAttributes(this.url+"/"+djzqLayer.id,{"DJZQDM":this.bufferParams.selectDjq},function (features) {
if(features != null){
for(var i = 0;i < features.length;i++){
var obj = {
dm:features[i].attributes.DJZQDM,
mc:features[i].attributes.DJZQMC,
type:"djzq"
}
self.djzqList.push(obj);
}
}
})
},
tabClick(name){
if(this.activeName == 'xzfw'){
if(this.djqList.length == 0){
this.djzqList = [];
this.getDjqList();
}
}
},
//设置导入的空间数据
setGeometry(geo){
this.importGeo = geo;
this.importDialog = false;
},
//打开导入空间
openImportDialog(){
this.importDialog = true;
},
}
......@@ -111,6 +476,55 @@ export default {
<style lang="less" scoped>
.tools{
position: relative;
display: flex;
justify-content: space-around;
line-height: 48px;
background-color: #FFFFFF;
box-shadow: 0px 1px 1px 1px rgba(0, 0, 0, 0.18);
border-radius: 4px;
ul{
height: 48px;
li{
margin-top:12px;
padding:0 10px;
border-right: 1px dashed #CBCBCB;
float: left;
height: 24px;
line-height: 24px;
i{
font-size:16px;
color: #8C8E91;
position: relative;
top: 2px;
}
span{
font-size: 12px;
color: #6D7278;
}
}
li:last-child{
border: 0;
}
li :hover{
cursor:pointer
}
}
}
.bufferDialog{
background: #f9f8f7;
margin-top: 5px;
padding-bottom: 20px;
/deep/ .el-tabs__header{
margin: 0px;
}
.contentItem{
margin: 8px 5px;
.drawTypes{
display: contents;
}
}
.buttonDiv{
text-align: center;
}
}
</style>
\ No newline at end of file
......
<template>
<div>
<div class="sideTools">
<ul>
<li @click="sidePanelShow = false;currentActivate = ''">
<i class="iconfont iconshousuo"></i>
</li>
<li @click="clickSideTools('zhuantishu')" :class="currentActivate == 'zhuantishu'?'active':''">
<i class="iconfont iconzhuantishu"></i>
<span>专题树</span>
</li>
<li @click="clickSideTools('huanchongqu')" :class="currentActivate == 'huanchongqu'?'active':''">
<i class="iconfont iconhuanchongfenxi"></i>
<span>缓冲区分析</span>
</li>
<li @click="clickSideTools('chongdiefenxi')" :class="currentActivate == 'chongdiefenxi'?'active':''">
<i class="iconfont iconzhongdiefenxi"></i>
<span>重叠分析</span>
</li>
</ul>
</div>
<div class="sidePanel" v-show="sidePanelShow">
<div class="content" v-show="currentActivate == 'zhuantishu'">
<el-tree
show-checkbox
:data="layerTreeData"
node-key="id"
highlight-current
@check="checkTreeNode"
>
<span class="custom-tree-node" slot-scope="{ node, data }">
<span>{{ node.label }}</span>
<span class="setOpacity" v-if="data.type == 'layerGroup'">
<el-slider v-model="data.alpha" ref="data.id" :format-tooltip="formatTooltip" @change="alphaChange(data)"></el-slider>
</span>
</span>
</el-tree>
</div>
</div>
</div>
</template>
<script>
import layerTree from '@/assets/json/layerTreeData.json'
import mapLayerManager from './js/mapLayerManager.js'
export default{
props:{
viewId:{
type:String,
default:""
}
},
mixins:[mapLayerManager],
data(){
return{
currentActivate:"",
layerTreeData:[],
defaultSelectNodes:[19,8,10],
layerUrl:"http://192.168.2.201:6080/arcgis/rest/services/%E4%BA%92%E8%81%94%E7%BD%91%E5%8A%A0%E4%B8%8D%E5%8A%A8%E4%BA%A7/XA_%E4%B8%8D%E5%8A%A8%E4%BA%A7/MapServer",
sidePanelShow:false
}
},
mounted(){
this.layerTreeData = layerTree;
},
methods:{
checkTreeNode(treeNode,checkNodeList){
var self = this;
//先判断是选中还是取消选中
var flag = false;
for (var i = 0; i < checkNodeList.checkedNodes.length; i++) {
if (checkNodeList.checkedNodes[i].id == treeNode.id) {
flag = true;
}
}
if(flag){
if(treeNode && treeNode.children){
var ids = [];
this.getChildrens(treeNode,ids);
this.addSublayers(this.viewId,ids);
}else{
this.addSublayers(this.viewId,[treeNode]);
}
}else{
if(treeNode && treeNode.children){
var ids = [];
this.getChildrens(treeNode,ids);
this.removeSublayer(this.viewId,ids);
}else{
this.removeSublayer(this.viewId,[treeNode]);
}
}
},
//获取树节点选中的子节点
getChildrens(data, childrens) {
if (data.children) {
for (var i = 0; i < data.children.length; i++) {
if (data.children[i].children) {
childrens = this.getChildrens(data.children[i], childrens);
} else {
if(data.children[i].type == 'layer'){
childrens.push(data.children[i]);
}
}
}
}
return childrens;
},
clickSideTools(currentName){
this.currentActivate = currentName;
this.sidePanelShow = true;
},
formatTooltip(val){
return val+"%";
},
alphaChange(nodeData){
}
}
}
</script>
<style scoped lang="less">
.sideTools{
width: 35px;
background-color: #FFFFFF;
text-align: center;
padding: 3px 0px;
box-shadow: 0px 1px 1px 1px rgba(0, 0, 0, 0.18);
border-radius: 2px;
li{
padding: 10px 0px;
border-bottom: 1px dashed #CBCBCB;
width: 25px;
margin-left: 5px;
}
li:last-child{
border: 0;
}
li :hover{
cursor:pointer
}
span{
font-size: 14px;
color: #6D7278;
}
i{
font-size: 1rem;
color: #8C8E91;
}
.active{
span,i{
color: #0091FF;
}
}
}
.sidePanel{
height: 500px;
width: 300px;
position: absolute;
background-color: #FFFFFF;
top: 0px;
right: 37px;
border-radius: 4px;
.content {
height:100%;
overflow:auto;
box-sizing: border-box;
padding:10px
}
}
.custom-tree-node{
display: contents;
span{
margin-right: 16px;
}
}
.setOpacity{
width: 100px;
}
/deep/ .el-slider__button{
width: 10px;
height: 10px;
}
</style>
......@@ -5,6 +5,7 @@ let Timestamp = new Date().getTime();
function resolve(dir) {
return path.join(__dirname, dir)
}
const UglifyJsPlugin = require("uglifyjs-webpack-plugin");
module.exports = {
publicPath: './',
......@@ -13,11 +14,13 @@ module.exports = {
config.resolve.alias
.set('@', resolve('src'))
.set('@api', resolve('src/api'))
.set('@assets', resolve('src/assets'))
.set('@mixins', resolve('src/mixins'))
.set('@store', resolve('src/store'))
.set('@libs', resolve('src/libs'))
.set('@router', resolve('src/router'))
.set('@components', resolve('src/components'))
.set('@assets', resolve('src/assets'))
},
pluginOptions: {
'style-resources-loader': {
......@@ -30,8 +33,17 @@ module.exports = {
filename: `js/[name].${Timestamp}.js`,
chunkFilename: `js/[name].${Timestamp}.js`
},
// plugins: [
plugins: [
// 去除console和debugger
// new UglifyJsPlugin({
// uglifyOptions: {
// compress: {
// drop_console: true,
// drop_debugger: true,
// },
// },
// parallel: true,
// }),
// new FileManagerPlugin({ //初始化 filemanager-webpack-plugin 插件实例
// onEnd: {
// mkdir: ['./zip','./dist'], //初始化生产zip和dist文件夹
......@@ -40,17 +52,20 @@ module.exports = {
// ]
// }
// })
// ]
]
},
devServer: {
host: "127.0.0.1",
host: "192.168.2.61",
host: "0.0.0.0",
port: 8008,
https: false,
hotOnly: false,
proxy: {
"/api": {
//target: process.env.VUE_APP_api, //巍巍
target: process.env.VUE_APP_api1, //本地
// target: 'https://192.168.2.119:8006', //泽平
// target: process.env.VUE_APP_api1, //本地
target: process.env.VUE_APP_api, //赵千
// target: process.env.VUE_APP_api4, //赵千
changeOrigin: true,
pathRewrite: {
"^/api": "/",
......