{"id":4926,"date":"2017-08-10T15:16:48","date_gmt":"2017-08-10T06:16:48","guid":{"rendered":"http:\/\/www.gisdeveloper.co.kr\/?p=4926"},"modified":"2023-09-19T09:57:59","modified_gmt":"2023-09-19T00:57:59","slug":"fingereyes-xr%ec%9d%98-deferableshapedrawtheme-%ec%b6%94%ec%83%81-%ed%81%b4%eb%9e%98%ec%8a%a4","status":"publish","type":"post","link":"http:\/\/www.gisdeveloper.co.kr\/?p=4926","title":{"rendered":"FingerEyes-Xr\uc758 DeferableShapeDrawTheme \ucd94\uc0c1 \ud074\ub798\uc2a4"},"content":{"rendered":"<p>FingerEyes-Xr for HTML5\ub294 DeferableShapeDrawTheme \ucd94\uc0c1 \ud074\ub798\uc2a4\ub97c \uc81c\uacf5\ud569\ub2c8\ub2e4. Deferable\uc740 &#8220;\ubbf8\ub8f0 \uc218 \uc788\ub294&#8221;\uc774\ub77c\ub294 \uc758\ubbf8\uc778\ub370\uc694. \uc218\uce58\uc9c0\ub3c4 \ub808\uc774\uc5b4\ub97c \uadf8\ub9ac\uae30 \uc704\ud55c \uc2ec\ubc8c\uc758 \uc9c0\uc815\uc744 \ubbf8\ub8ec\ub2e4\ub294 \uc758\ubbf8\uc785\ub2c8\ub2e4. \uc774 \ucd94\uc0c1 \ud074\ub798\uc2a4\ub294 \uc0c1\uc18d \ubc1b\uc544 \uad6c\ud604\ud574\uc57c \ud558\ub294 \ub9e4\uc11c\ub4dc\ub294 \/* void *\/ requestCondition: function (\/* int *\/fid)\uc785\ub2c8\ub2e4. \uc774 \ud074\ub798\uc2a4\uc758 \ubaa9\uc801\uc5d0 \ub300\ud55c \uc124\uba85\uc740 \uc7a0\uc2dc \ubbf8\ub8e8\uace0 \uc774 \ud074\ub798\uc2a4\ub97c \uc0c1\uc18d\ubc1b\uc544 \ub9cc\ub4e0 \uc608\ub85c\uc368 MyDeferableShapeDrawTheme \ud074\ub798\uc2a4\ub294 \uc544\ub798\uc640 \uac19\uc2b5\ub2c8\ub2e4.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"js\">\r\nMyDeferableShapeDrawTheme = Xr.Class({\r\n    name: \"MyDeferableShapeDrawTheme\",\r\n    extend: Xr.theme.DeferableShapeDrawTheme,\r\n\r\n    construct: function() {\r\n        this.superclass();\r\n\r\n        this._ON_sds = new Xr.symbol.ShapeDrawSymbol();\r\n        this._ON_sds.markerSymbol(new Xr.symbol.ImageMarkerSymbol(\r\n            { width: 16, height: 16, url: \"images\/gis\/facility\/OH_SW_ON.png\" }));\r\n\r\n        this._OFF_sds = new Xr.symbol.ShapeDrawSymbol();\r\n        this._OFF_sds.markerSymbol(new Xr.symbol.ImageMarkerSymbol(\r\n            { width: 16, height: 16, url: \"images\/gis\/facility\/OH_SW_OFF.png\" }));\r\n    },\r\n\r\n    methods: {\r\n        \/* void *\/ requestCondition: function (fid) {\r\n            var that = this;\r\n            var sql = \"SELECT swstatcd FROM ecl_sw_p WHERE fid = \" + fid;\r\n            var url = mg_MapLayers.GIS_HTTP_SERVER + \"\/Xr?sql|\" + encodeURIComponent(sql) + \"|mg_db|1\"\r\n\r\n            $.ajax({\r\n                url: url,\r\n                dataType: \"text\",\r\n                type: \"GET\",\r\n                statusCode: {\r\n                    200: function (response) {\r\n                        \/\/ response \ubb38\uc790\uc5f4 \ub05d\uc5d0 \\0 \ubb38\uc790\ub97c \uc81c\uac70\r\n                        response = response.substr(0, response.length - 1); \r\n\r\n                        var result = JSON.parse(response);\r\n                        if (result.length == 1) {\r\n                            if (result[0][\"swstatcd\"] === \"ON\") {\r\n                                that.setSymbol(fid, that._ON_sds);\r\n                            } else {\r\n                                that.setSymbol(fid, that._OFF_sds);\r\n                            }\r\n                        }                        \r\n                    }\r\n                }\r\n            });            \r\n        }\r\n    }\r\n});\r\n<\/pre>\n<p>\uc704\uc758 \ucf54\ub4dc\ub294 \uc21c\uc218\ud55c Javascript \ucf54\ub4dc\uc774\uba70, FingerEyes-Xr \ubc29\uc2dd\uc758 \ud074\ub798\uc2a4 \uc815\uc758\uc785\ub2c8\ub2e4. \uc704\uc758 \ucf54\ub4dc\uc5d0\uc11c \ubcf4\uc774\ub294 \uac83\ucc98\ub7fc 3\ubc88 \ucf54\ub4dc\uc5d0\uc11c Xr.theme.DeferableShapeDrawTheme \ud074\ub798\uc2a4\ub294 \ud655\uc7a5\ud55c\ub2e4\uace0 \uba85\uc2dc\ub418\uc5b4 \uc788\uace0, 18\ubc88 \ucf54\ub4dc\uc5d0\uc11c requestCondition \ub9e4\uc11c\ub4dc\ub97c \uad6c\ud604\ud558\uace0 \uc788\uc2b5\ub2c8\ub2e4. 5\ubc88 \ucf54\ub4dc\uac00 \uc0dd\uc131\uc790 \ud568\uc218\uc778\ub370\uc694. \uc774 \uc0dd\uc131\uc790\uc5d0\uc11c\ub294 2\uac1c\uc758 \uc774\ubbf8\uc9c0 \uc2ec\ubc8c\uc744 \uc815\uc758\ud558\uace0 \uc788\uc2b5\ub2c8\ub2e4. \uc774 2\uac1c\uc758 \uc774\ubbf8\uc9c0 \uc2ec\ubc8c\uc740 \uc124\ube44 \ub530\uc704\uc5d0 \ub300\ud55c \uc0c1\ud0dc\uac12\uc73c\ub85c ON \uc0c1\ud0dc\uc758 \uc774\ubbf8\uc9c0\uc640 OFF \uc0c1\ud0dc\uc758 \uc774\ubbf8\uc9c0\ub97c \ub098\ud0c0\ub0c5\ub2c8\ub2e4. \uc774\ub807\uac8c \uc815\uc758\ub41c \uc2ec\ubc8c\uc740 18\ubc88 \ucf54\ub4dc\uc758 \ub9e4\uc11c\ub4dc\uc778 requestCondition\uc5d0\uc11c \uc0ac\uc6a9\ub418\ub294\ub370\uc694. \uc774 requestCondition\uc740 \uc774\ub984 \uadf8\ub300\ub85c &#8220;\uc870\uac74\uc744 \uc694\uccad\ud55c\ub2e4&#8221;\ub77c\ub294 \ub9e4\uc11c\ub4dc\ub85c \uadf8 \uad6c\ud604 \ucf54\ub4dc\ub97c \ubcf4\uba74 \uc5b4\ub5a4 SQL\ubb38\uc744 \uc11c\ubc84\uce21\uc5d0 \uc694\uccad\ud558\uace0 \uc788\uc2b5\ub2c8\ub2e4. \uadf8 \uc694\uccad \uacb0\uacfc\ub294 JSON\uc73c\ub85c \ubc1b\uac8c \ub418\ub294\ub370\uc694. 34~38\ubc88 \ucf54\ub4dc\uc5d0\uc11c\ucc98\ub7fc JSON \uacb0\uacfc \uc911 swstatcd \ud544\ub4dc\uc758 \uac12\uc774 ON\uc77c\ub54c\uc640 \uadf8 \uc678\uc758 \uac12\uc77c\ub54c\uc5d0 \ub300\ud574 setSymbol \ub9e4\uc11c\ub4dc\ub97c \ud638\ucd9c\ud574 \ud45c\ud604\ud560 \uc2ec\ubc8c\uc744 \uc9c0\uc815\ud574 \uc90d\ub2c8\ub2e4. <\/p>\n<p>\uc774\ub807\uac8c \uc815\uc758\ub41c MyDeferableShapeDrawTheme \ud074\ub798\uc2a4\ub294 \uc218\uce58\uc9c0\ub3c4 \ub808\uc774\uc5b4\ub97c \uc0dd\uc131\ud558\uace0 \ucd94\uac00\ud560\ub54c \uc0ac\uc6a9\ub418\ub294\ub370\uc694. \uc544\ub798\uc758 \uc608\uc640 \uac19\uc2b5\ub2c8\ub2e4.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"js\">\r\nvar lyr = new Xr.layers.ShapeMapLayer(layerId, ...);\r\nlyr.deferableTheme(new MyDeferableShapeDrawTheme());\r\n<\/pre>\n<p>\uc774\ud574\ub97c \ub3d5\uace0\uc790 \uc704\uc758 \ucf54\ub4dc\uac00 \uc801\uc6a9\ub41c \uc2e4\ud589 \uacb0\uacfc\uc5d0 \ub300\ud55c \uc9c0\ub3c4 \ud654\uba74\uc740 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.gisdeveloper.co.kr\/wp-content\/uploads\/2017\/08\/DeferableSymbol.png\" alt=\"\" width=\"1674\" height=\"1062\" class=\"aligncenter size-full wp-image-4930\" \/><\/p>\n<p>\uc704\uc758 \uc9c0\ub3c4 \ud654\uba74\uc5d0\uc11c \ud30c\ub791\uc0c9\uc758 ON \uc544\uc774\ucf58\uacfc \ube68\uac04\uc0c9\uc758 OFF \uc544\uc774\ucf58 \uc2ec\ubc8c\uc774 \uc704\uc758 \ucf54\ub4dc\ub97c \ud1b5\ud574 \ubc18\uc601\ub41c \uc2ec\ubc8c \uacb0\uacfc\uc785\ub2c8\ub2e4.<\/p>\n<p>\uadf8\ub807\ub2e4\uba74 \uc774 \ud074\ub798\uc2a4\uc758 \uc81c\uacf5\ud558\ub294 \uc774\uc720\ub294 \ubb34\uc5c7\uc77c\uae4c\uc694? \uc77c\ubc18\uc801\uc73c\ub85c GIS\uc758 DB \uad6c\uc870\ub97c \uc0b4\ud3b4\ubcf4\uba74 \uacf5\uac04 \ub370\uc774\ud130\uc640 \uc18d\uc131 \ub370\uc774\ud130\uac00 \ub3d9\uc77c\ud55c DBMS\uc758 \ub3d9\uc77c\ud55c Database \ub0b4\uc5d0 \uc874\uc7ac\ud558\uac8c \ub429\ub2c8\ub2e4. \uadf8\ub7ec\ub098 \uc804\uccb4 \uc2dc\uc2a4\ud15c\uc774 \ucee4\uc9c0\uac70\ub098, \ud0c0 \uc2dc\uc2a4\ud15c\uc640\uc758 \uc5f0\uacc4\uac00 \ud544\uc694\ud560 \uacbd\uc6b0 \ub3c4\ud615 \ub370\uc774\ud130\uc640 \uc18d\uc131 \ub370\uc774\ud130\uac00 \uc804\ud600 \ub2e4\ub978 DBMS\ub85c \ubd84\ub9ac \uad6c\ubd84\ub418\uc5b4 \uc800\uc7a5\ub429\ub2c8\ub2e4. \ubc14\ub85c \uc774\ub7ec\ud55c \ud658\uacbd\uc5d0\uc11c\ub3c4 \uacf5\uac04 \ub370\uc774\ud130\uc640 \ub2e4\ub978 DBMS\uc758 \uc18d\uc131 \ub370\uc774\ud130\uac00 \uc811\ubaa9\ub418\uc5b4 \uc720\uc5f0\ud558\uac8c \uc870\ud569\ub418\uc5b4 \ud65c\uc6a9\ub420 \uc218 \uc788\ub3c4\ub85d \ud558\uae30 \uc704\ud574 \uc81c\uacf5\ub418\ub294 \ud074\ub798\uc2a4\uac00 \ubc14\ub85c DeferableShapeDrawTheme\uc785\ub2c8\ub2e4.<\/p>\n<p>\ub05d\uc73c\ub85c, ShapeDrawSymbol \ud074\ub798\uc2a4\ub97c \ud1b5\ud55c \uc2ec\ubc8c \uc815\uc758 \uc2dc\uc5d0 Brush\uc640 Pen\uc5d0 \ub300\ud55c \uc2ec\ubc8c\uc758 \uc815\uc758 \uc608\ub294 \uc544\ub798\uc640 \uac19\uc2b5\ub2c8\ub2e4.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"js\">\r\nthis._ON_sds = new Xr.symbol.ShapeDrawSymbol();\r\nthis._sds.brushSymbol(new Xr.symbol.BrushSymbol({ color: 'red' }));\r\nthis._sds.penSymbol(new Xr.symbol.PenSymbol({ color: 'yellow', width: 2 }));\r\nthis._ON_sds.markerSymbol(new Xr.symbol.ImageMarkerSymbol(\r\n    { width: 16, height: 16, url: \"images\/gis\/facility\/OH_SW_ON.png\" }));\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>FingerEyes-Xr for HTML5\ub294 DeferableShapeDrawTheme \ucd94\uc0c1 \ud074\ub798\uc2a4\ub97c \uc81c\uacf5\ud569\ub2c8\ub2e4. Deferable\uc740 &#8220;\ubbf8\ub8f0 \uc218 \uc788\ub294&#8221;\uc774\ub77c\ub294 \uc758\ubbf8\uc778\ub370\uc694. \uc218\uce58\uc9c0\ub3c4 \ub808\uc774\uc5b4\ub97c \uadf8\ub9ac\uae30 \uc704\ud55c \uc2ec\ubc8c\uc758 \uc9c0\uc815\uc744 \ubbf8\ub8ec\ub2e4\ub294 \uc758\ubbf8\uc785\ub2c8\ub2e4. \uc774 \ucd94\uc0c1 \ud074\ub798\uc2a4\ub294 \uc0c1\uc18d \ubc1b\uc544 \uad6c\ud604\ud574\uc57c \ud558\ub294 \ub9e4\uc11c\ub4dc\ub294 \/* void *\/ requestCondition: function (\/* int *\/fid)\uc785\ub2c8\ub2e4. \uc774 \ud074\ub798\uc2a4\uc758 \ubaa9\uc801\uc5d0 \ub300\ud55c \uc124\uba85\uc740 \uc7a0\uc2dc \ubbf8\ub8e8\uace0 \uc774 \ud074\ub798\uc2a4\ub97c \uc0c1\uc18d\ubc1b\uc544 \ub9cc\ub4e0 \uc608\ub85c\uc368 MyDeferableShapeDrawTheme \ud074\ub798\uc2a4\ub294 \uc544\ub798\uc640 \uac19\uc2b5\ub2c8\ub2e4. MyDeferableShapeDrawTheme = Xr.Class({ &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/www.gisdeveloper.co.kr\/?p=4926\" class=\"more-link\">\ub354 \ubcf4\uae30<span class=\"screen-reader-text\"> &#8220;FingerEyes-Xr\uc758 DeferableShapeDrawTheme \ucd94\uc0c1 \ud074\ub798\uc2a4&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[70,1],"tags":[],"class_list":["post-4926","post","type-post","status-publish","format-standard","hentry","category-fingereyes-xr","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/4926","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=4926"}],"version-history":[{"count":10,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/4926\/revisions"}],"predecessor-version":[{"id":9654,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/4926\/revisions\/9654"}],"wp:attachment":[{"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=4926"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=4926"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=4926"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}