@vidro/map-handler 1.0.6 → 1.0.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +187 -10
- package/dist/map-handler.js +1 -1
- package/doc/giswater.png +0 -0
- package/doc/giswaterInfo.png +0 -0
- package/doc/giswaterInfoApi.png +0 -0
- package/doc/giswatergeojson.png +0 -0
- package/doc/multiTile.png +0 -0
- package/doc/multiTileNoGutter.png +0 -0
- package/doc/togglelayergiswater.png +0 -0
- package/doc/vidromaps-basic.png +0 -0
- package/examples/externalwms/index.js +20 -0
- package/examples/externalwms/index.php +88 -0
- package/examples/full/apidemo.js +43 -1
- package/examples/full/cachedToken.dat +1 -1
- package/examples/full/cachedTokenData.dat +1 -1
- package/examples/full/index.php +31 -16
- package/examples/full/tester.js +172 -12
- package/examples/integration/tool/css/dist/home.css.min.css +0 -0
- package/examples/integration/tool/css/dist/home.min.css +1 -0
- package/examples/integration/tool/css/dist/home.min.css.map +10 -0
- package/examples/integration/tool/css/dist/style-login.css.min.css +0 -0
- package/examples/integration/tool/css/dist/style-login.min.css +1 -0
- package/examples/integration/tool/css/dist/style-login.min.css.map +10 -0
- package/examples/integration/tool/css/dist/style.css.min.css +0 -0
- package/examples/integration/tool/css/dist/style.min.css +1 -0
- package/examples/integration/tool/css/dist/style.min.css.map +23 -0
- package/examples/integration/tool/css/master/_bottom-sheet-2.scss +103 -0
- package/examples/integration/tool/css/master/_bottom-sheet.scss +142 -0
- package/examples/integration/tool/css/master/_colors.scss +35 -0
- package/examples/integration/tool/css/master/_dropdown-form.scss +167 -0
- package/examples/integration/tool/css/master/_forms.scss +416 -0
- package/examples/integration/tool/css/master/_header.scss +134 -0
- package/examples/integration/tool/css/master/_menu-toc.scss +135 -0
- package/examples/integration/tool/css/master/_menu-tools.scss +187 -0
- package/examples/integration/tool/css/master/_mixins.scss +42 -0
- package/examples/integration/tool/css/master/_notifyjs.scss +39 -0
- package/examples/integration/tool/css/master/_ol-map-controls.scss +117 -0
- package/examples/integration/tool/css/master/_simplelightbox.scss +287 -0
- package/examples/integration/tool/css/master/_toc-config.scss +28 -0
- package/examples/integration/tool/css/master/_toc-layouts.scss +173 -0
- package/examples/integration/tool/css/master/_tooltip.scss +34 -0
- package/examples/integration/tool/css/master/home.scss +266 -0
- package/examples/integration/tool/css/master/style-login.scss +240 -0
- package/examples/integration/tool/css/master/style.scss +166 -0
- package/examples/integration/tool/img/doc-gallery-placeholder.svg +3 -0
- package/examples/integration/tool/img/home/ic_calendar-clock.svg +1 -0
- package/examples/integration/tool/img/home/ic_caret-down.svg +1 -0
- package/examples/integration/tool/img/home/ic_cog.svg +1 -0
- package/examples/integration/tool/img/home/ic_marker.svg +1 -0
- package/examples/integration/tool/img/home/ic_play-circle.svg +1 -0
- package/examples/integration/tool/img/home/ic_power.svg +1 -0
- package/examples/integration/tool/img/home/ic_squares.svg +1 -0
- package/examples/integration/tool/img/home/ic_user-pointer.svg +1 -0
- package/examples/integration/tool/img/home/ic_user-square.svg +1 -0
- package/examples/integration/tool/img/home/logo_footer.svg +1 -0
- package/examples/integration/tool/img/ic/accessControl.svg +1 -0
- package/examples/integration/tool/img/ic/account-location.svg +1 -0
- package/examples/integration/tool/img/ic/actionDelete.svg +64 -0
- package/examples/integration/tool/img/ic/actionOpen.svg +64 -0
- package/examples/integration/tool/img/ic/addFile.svg +100 -0
- package/examples/integration/tool/img/ic/addFile_off.svg +102 -0
- package/examples/integration/tool/img/ic/arrow-left.svg +1 -0
- package/examples/integration/tool/img/ic/arrow-right-drop-circle-outline.svg +1 -0
- package/examples/integration/tool/img/ic/bt_add_photo.svg +3 -0
- package/examples/integration/tool/img/ic/bug.svg +1 -0
- package/examples/integration/tool/img/ic/caret-down-bottomsheet.svg +3 -0
- package/examples/integration/tool/img/ic/checkbox-blank-outline-grey.svg +8 -0
- package/examples/integration/tool/img/ic/checkbox-blank-outline-white.svg +8 -0
- package/examples/integration/tool/img/ic/checkbox-blank-outline.svg +1 -0
- package/examples/integration/tool/img/ic/checkbox-marked-outline-grey.svg +8 -0
- package/examples/integration/tool/img/ic/checkbox-marked-outline-white.svg +8 -0
- package/examples/integration/tool/img/ic/checkbox-marked-outline.svg +1 -0
- package/examples/integration/tool/img/ic/chevron-down-grey.svg +7 -0
- package/examples/integration/tool/img/ic/chevron-down-white.svg +7 -0
- package/examples/integration/tool/img/ic/chevron-down.svg +1 -0
- package/examples/integration/tool/img/ic/chevron-right-grey.svg +7 -0
- package/examples/integration/tool/img/ic/chevron-right-white.svg +7 -0
- package/examples/integration/tool/img/ic/chevron-right.svg +1 -0
- package/examples/integration/tool/img/ic/comment-text-outline.svg +1 -0
- package/examples/integration/tool/img/ic/cookie.svg +1 -0
- package/examples/integration/tool/img/ic/delete.svg +1 -0
- package/examples/integration/tool/img/ic/dot.svg +1 -0
- package/examples/integration/tool/img/ic/dump.svg +1 -0
- package/examples/integration/tool/img/ic/e.svg +9 -0
- package/examples/integration/tool/img/ic/eye-off.svg +1 -0
- package/examples/integration/tool/img/ic/eye.svg +1 -0
- package/examples/integration/tool/img/ic/forbidden.svg +1 -0
- package/examples/integration/tool/img/ic/form-title-1.svg +3 -0
- package/examples/integration/tool/img/ic/group.svg +1 -0
- package/examples/integration/tool/img/ic/hamburger.svg +1 -0
- package/examples/integration/tool/img/ic/ic-users.svg +1 -0
- package/examples/integration/tool/img/ic/ic_dropdown-form-close.svg +3 -0
- package/examples/integration/tool/img/ic/ic_dropdown-form-link.svg +3 -0
- package/examples/integration/tool/img/ic/ic_feature-edit-cancel.svg +14 -0
- package/examples/integration/tool/img/ic/ic_feature-edit-save.svg +14 -0
- package/examples/integration/tool/img/ic/ic_gallery-item-delete.svg +3 -0
- package/examples/integration/tool/img/ic/ic_gallery-item-view.svg +3 -0
- package/examples/integration/tool/img/ic/ic_gps.svg +3 -0
- package/examples/integration/tool/img/ic/ic_search.svg +5 -0
- package/examples/integration/tool/img/ic/ic_selector_fechas.svg +63 -0
- package/examples/integration/tool/img/ic/ic_zoom-to-extent.svg +3 -0
- package/examples/integration/tool/img/ic/icon_reminder.png +0 -0
- package/examples/integration/tool/img/ic/image-gallery-placeholder.svg +55 -0
- package/examples/integration/tool/img/ic/imaqua.svg +87 -0
- package/examples/integration/tool/img/ic/incidencia.svg +77 -0
- package/examples/integration/tool/img/ic/info_multi_selection.svg +230 -0
- package/examples/integration/tool/img/ic/layers.svg +1 -0
- package/examples/integration/tool/img/ic/map-marker.svg +3 -0
- package/examples/integration/tool/img/ic/map.svg +1 -0
- package/examples/integration/tool/img/ic/measure_area.svg +111 -0
- package/examples/integration/tool/img/ic/minus.svg +7 -0
- package/examples/integration/tool/img/ic/notification.svg +1 -0
- package/examples/integration/tool/img/ic/offline.svg +3 -0
- package/examples/integration/tool/img/ic/online.svg +1 -0
- package/examples/integration/tool/img/ic/pencil.svg +3 -0
- package/examples/integration/tool/img/ic/plus.svg +1 -0
- package/examples/integration/tool/img/ic/polygon_selection.svg +68 -0
- package/examples/integration/tool/img/ic/power.svg +1 -0
- package/examples/integration/tool/img/ic/remoteLocalized.svg +4 -0
- package/examples/integration/tool/img/ic/remoteStartLocalize.svg +4 -0
- package/examples/integration/tool/img/ic/ruler.svg +125 -0
- package/examples/integration/tool/img/ic/selection-plus.svg +10 -0
- package/examples/integration/tool/img/ic/selection.svg +1 -0
- package/examples/integration/tool/img/ic/settings.svg +1 -0
- package/examples/integration/tool/img/ic/sort.svg +1 -0
- package/examples/integration/tool/img/ic/sort_asc.svg +1 -0
- package/examples/integration/tool/img/ic/sort_desc.svg +1 -0
- package/examples/integration/tool/img/ic/spreadsheet.svg +3 -0
- package/examples/integration/tool/img/ic/times.svg +1 -0
- package/examples/integration/tool/img/ic/toolbar/AB3.svg +1 -0
- package/examples/integration/tool/img/ic/toolbar/AB4.svg +1 -0
- package/examples/integration/tool/img/ic/toolbar/IC1.svg +1 -0
- package/examples/integration/tool/img/ic/toolbar/TB1.svg +1 -0
- package/examples/integration/tool/img/ic/toolbar/TB11.svg +5 -0
- package/examples/integration/tool/img/ic/toolbar/TB2.svg +1 -0
- package/examples/integration/tool/img/ic/toolbar/TB20.svg +1 -0
- package/examples/integration/tool/img/ic/toolbar/TB21.svg +54 -0
- package/examples/integration/tool/img/ic/toolbar/TB3.svg +1 -0
- package/examples/integration/tool/img/ic/toolbar/TB31.svg +1 -0
- package/examples/integration/tool/img/ic/toolbar/TB32.svg +57 -0
- package/examples/integration/tool/img/ic/toolbar/TB4.svg +1 -0
- package/examples/integration/tool/img/ic/toolbar/TB5.svg +1 -0
- package/examples/integration/tool/img/ic/toolbar/TB6.svg +1 -0
- package/examples/integration/tool/img/ic/toolbar/TB7.svg +1 -0
- package/examples/integration/tool/img/ic/toolbar/TB8.svg +1 -0
- package/examples/integration/tool/img/ic/tools.svg +28 -0
- package/examples/integration/tool/img/ic/user.svg +1 -0
- package/examples/integration/tool/img/ic/vector-polygon.svg +1 -0
- package/examples/integration/tool/img/ic/visit_manager.svg +135 -0
- package/examples/integration/tool/img/logo-footer-login.png +0 -0
- package/examples/integration/tool/img/logo-footer.png +0 -0
- package/examples/integration/tool/img/logo-header-login.png +0 -0
- package/examples/integration/tool/img/logo-header-login@2x.png +0 -0
- package/examples/integration/tool/img/logo-header-login@3x.png +0 -0
- package/examples/integration/tool/img/logo-header.png +0 -0
- package/examples/integration/tool/img/logo-header@2x.png +0 -0
- package/examples/integration/tool/img/logo-header@3x.png +0 -0
- package/examples/integration/tool/img/logo_project.png +0 -0
- package/examples/integration/tool/img/photo-gallery-placeholder.svg +3 -0
- package/examples/integration/tool/img/pixel.png +0 -0
- package/examples/integration/tool/index.html +228 -0
- package/examples/integration/tool/js/demo.js +238 -0
- package/examples/integration/tool/js/interface.js +147 -0
- package/examples/integration/tool/js/jquery.js +4 -0
- package/examples/integration/vanguardia.html +6636 -0
- package/examples/multipleIframes/index.js +82 -0
- package/examples/multipleIframes/index.php +52 -0
- package/examples/serverLess/dist/index.23420cfa.js +120 -117
- package/examples/serverLess/dist/index.23420cfa.js.map +1 -1
- package/examples/serverLess/dist/index.html +38 -1
- package/examples/serverLess/index.html +2 -1
- package/examples/serverLess/main.js +2 -2
- package/examples/simple/index.html +1 -1
- package/examples/taigua/index.html +15 -0
- package/examples/taigua/main.js +44 -0
- package/examples/vidromap/index.js +12 -79
- package/examples/vidromap/index.php +63 -48
- package/examples/xavi/index.html +37 -0
- package/examples/xavi/main.js +160 -0
- package/flows.md +73 -0
- package/package.json +1 -1
- package/src/index.js +160 -44
- package/src/shared/iframe-communicator.js +12 -5
- package/examples/vidromap/vidromap.js +0 -13
- package/examples/vidromap/vidromap.php +0 -59
|
@@ -16,7 +16,7 @@ const iframe = document.querySelector("#map-frame");
|
|
|
16
16
|
const infoContainer = document.querySelector("#infoContainer");
|
|
17
17
|
const infoContent = document.querySelector("#infoContent");
|
|
18
18
|
const closeInfo = document.querySelector("#closeInfo");
|
|
19
|
-
|
|
19
|
+
/*
|
|
20
20
|
//1. Get BMAPS user token
|
|
21
21
|
axios
|
|
22
22
|
.post(`${apiUrl}letsgo`, {
|
|
@@ -84,7 +84,7 @@ axios
|
|
|
84
84
|
.catch(function (error) {
|
|
85
85
|
console.log(error);
|
|
86
86
|
});
|
|
87
|
-
|
|
87
|
+
*/
|
|
88
88
|
//DOM handlers
|
|
89
89
|
closeInfo.addEventListener("click", (evt) => {
|
|
90
90
|
infoContainer.style.display = "none";
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
<br>https://www.vidrosoftware.com/examples/simple/?user=user&pwd=pwd&api=API URL
|
|
13
13
|
</div>
|
|
14
14
|
<div id="iframes-container">
|
|
15
|
-
<iframe id="map-frame" name="map-frame" src="" style="width:100%; height:600px;" ></iframe>
|
|
15
|
+
<iframe id="map-frame" name="map-frame" src="http://localhost:3000/?sessionToken=eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJleHAiOjE2NTQ2ODUzODYsImF1ZCI6IjFhOTQ1OTcyN2YyMTIzNWFkNzhmMWQ4N2NjMTIzMzAxOTQ3NTEyNDMiLCJkYXRhIjp7Inpvb20iOjQsImJhY2tncm91bmQiOiJDYXJ0b0RCTGlnaHQiLCJzcmlkIjpudWxsLCJleHRlbnQiOm51bGwsImdlb3NlcnZpY2UiOiJRR0lTIiwibmFtZSI6IlBhcmlzIiwicHJldmlldyI6dHJ1ZSwiYXBpIjoiaHR0cHM6XC9cL2FwaS52aWRyb3NvZnR3YXJlLmNvbVwvIiwidHlwZSI6InZpZHJvbWFwIiwidG9rZW4iOiIzZDAxNzBjNjZlNTE2MjM4ZWRiODU3ZjE1MDhlYzQyNCIsInNob3dfbGF5ZXJzIjoiIiwiaWQiOjExMSwibG9nbyI6Imh0dHBzOlwvXC93d3cudmlkcm9zb2Z0d2FyZS5jb21cL2xvZ29zXC9WSURSTy5zdmcifX0.OKluQa49gCA2r9cd80Did2CaPJCD7NR-fblL_D8EI4tTNBHavfIjxI_Nmj-K4PTqr54acJWwtih4f0bmLTE6aT0dF6aA3CVGfhOEC7yZc5gVncGSxL9l3HRQvevQHf_it6H-lCx5Yuee98tQyIMJJipMWpAjnkmmJoyk8K4Ri058J44XlI1EJKMv13dafIHUME9puoUry-GVXfImb3vNbZ0vvIr-XHQb8tD882qBgKxoe50bzdPMHdDmWLkN99RrVsfvX9Z1m3zeWxL-3DNOErRbqtN0gkMDh6u043LJ_hO0NyLd06Uxl2Cs5Q3bld9Bs4nYuAq4kADQHGBJJPiuI82KU9pmIWAkhzlhA00aPSulhHkz39WaSpbClFI82zftpqBOicuYP1f09gjyMT_oARlIP1wSSJw8E0rBpbPDHjSiJLcE4qKk3nZw6dz_n34zUCs_lvlU2QnRvJO5m77Iu1ZPqnaQx_HSgSV9T07aCvN-cas9H9Fx7uQXAhlU-AqHd68HX8MxXGsKceWtdJdb1aAFP_5LYXCYPzleD756uDatreIhmUzKZguiFEpiin74xozd-UAM75M1M1KmeZiZnqmtFW60Zq-VDHVhLSToD4xa6oT8pZUnSLWrGe3odkigHZSrnQUYPlesULD4eCGEWasfEXyfkB4Y2XbNewDuAPU" style="width:100%; height:600px;" ></iframe>
|
|
16
16
|
</div>
|
|
17
17
|
<button id="btZoomIn">Zoom In</button>
|
|
18
18
|
<button id="btZoomOut">Zoom Out</button>
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
|
|
2
|
+
<!DOCTYPE html>
|
|
3
|
+
<html>
|
|
4
|
+
|
|
5
|
+
<body>
|
|
6
|
+
<div><iframe id="map-frame" name="map-frame" width="100%" height="600"
|
|
7
|
+
src="https://component.vidrosoftware.com?sessionToken=eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJleHAiOjE2NTI3NzU1MjcsImF1ZCI6ImE4MmY1MTQ2Y2Y4NTQ3ODg1YjFiNzY2MjE5Yjk4YjI4YWJkZGJkNTIiLCJkYXRhIjp7Inpvb20iOjksImJhY2tncm91bmQiOiJDYXJ0b0RCTGlnaHQiLCJzcmlkIjpudWxsLCJleHRlbnQiOm51bGwsImdlb3NlcnZpY2UiOiJRR0lTIiwibmFtZSI6IlBST1ZBMjYiLCJwcmV2aWV3Ijp0cnVlLCJhcGkiOiJodHRwczpcL1wvYXBpLnZpZHJvc29mdHdhcmUuY29tXC8iLCJ0eXBlIjoidmlkcm9tYXAiLCJ0b2tlbiI6ImYzMTU5MTY4OTliZmVjODljZjM0NjlkMDVjNTlkZTY1Iiwic2hvd19sYXllcnMiOiJMSU5LUyxUUkFNUyxDT01QVFNSRUcsTk9ERVMiLCJpZCI6MTU5LCJsb2dvIjoiaHR0cHM6XC9cL3d3dy52aWRyb3NvZnR3YXJlLmNvbVwvbG9nb3NcL1ZJRFJPLnN2ZyJ9fQ.OAGvwBb20ZkBtI2HqLd7dwnS2kFFuOJmqs1WGSDX_6vm_KAhd3KQNvDqyZrXw3NJehTvOnes0fkK-gD3r2uKlz2beCdnoXLzVnkOYkO5rZpon6WIRNRtbSBqQ2dpgijnsWwH_inhs-EAUB-la9Itdmhk7SlswGWPcs7cU19YeaD6FizNaFaROB_1UHTWw-t7ks7GGkd47J0m5rl9AVvJNC3-SDsMLzcC7WO-rnibDtmB6cCgPFND0zpzjQlt0IYTHxTBsyS6MczcBsdl9jzyuO3rl802fZ5T1KhY5TxHGni8ljeMtXe0L-tNaJy6F6rjtfY2I4-RCZF4nQ6RPjd1AWoXhPI2Uw6YGu8TFIEGwK0k-vH6dRU2IrWXLuEgniirvLj4YZVVNtJzlhHeAE_yGE-3ygF3vU4aRWlD54gKv0lL1mO2EdeXbIUb4_jrlTwJN5Lxy2k0cv1t6HR8RVjTqj0k2gLDR-Rwe3bhNPQCuUyJOnllIh5OkKx-ZzxUU3qZ23T4phpqMCC67EQaJ1qrHcKX9nFZJ8qGwVaWbaQJHlPYQBpPCLtetNm7C5INxuEWmQMMvdlEtUyHlL8EQeYSc54kw_SaVTsHHs9PhX6uD-RcfzYFmfHcFKQaOO1oNFq6aHdIuK8BQuj8s_q4h4r3acU5QzHGwKuS9-0k3IOuvWU"></iframe>
|
|
8
|
+
</duv>
|
|
9
|
+
<div><button id="btZoomIn" name="btZoomIn">Zoom in</button></div>
|
|
10
|
+
|
|
11
|
+
<div id="messages"></div>
|
|
12
|
+
</body>
|
|
13
|
+
<script src="https://unpkg.com/@vidro/map-handler@1.0.5/dist/map-handler.js"></script>
|
|
14
|
+
<script src="main.js"></script>
|
|
15
|
+
</html>
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
var sessionToken =
|
|
2
|
+
"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJleHAiOjE2NTI3NzU1MjcsImF1ZCI6ImE4MmY1MTQ2Y2Y4NTQ3ODg1YjFiNzY2MjE5Yjk4YjI4YWJkZGJkNTIiLCJkYXRhIjp7Inpvb20iOjksImJhY2tncm91bmQiOiJDYXJ0b0RCTGlnaHQiLCJzcmlkIjpudWxsLCJleHRlbnQiOm51bGwsImdlb3NlcnZpY2UiOiJRR0lTIiwibmFtZSI6IlBST1ZBMjYiLCJwcmV2aWV3Ijp0cnVlLCJhcGkiOiJodHRwczpcL1wvYXBpLnZpZHJvc29mdHdhcmUuY29tXC8iLCJ0eXBlIjoidmlkcm9tYXAiLCJ0b2tlbiI6ImYzMTU5MTY4OTliZmVjODljZjM0NjlkMDVjNTlkZTY1Iiwic2hvd19sYXllcnMiOiJMSU5LUyxUUkFNUyxDT01QVFNSRUcsTk9ERVMiLCJpZCI6MTU5LCJsb2dvIjoiaHR0cHM6XC9cL3d3dy52aWRyb3NvZnR3YXJlLmNvbVwvbG9nb3NcL1ZJRFJPLnN2ZyJ9fQ.OAGvwBb20ZkBtI2HqLd7dwnS2kFFuOJmqs1WGSDX_6vm_KAhd3KQNvDqyZrXw3NJehTvOnes0fkK-gD3r2uKlz2beCdnoXLzVnkOYkO5rZpon6WIRNRtbSBqQ2dpgijnsWwH_inhs-EAUB-la9Itdmhk7SlswGWPcs7cU19YeaD6FizNaFaROB_1UHTWw-t7ks7GGkd47J0m5rl9AVvJNC3-SDsMLzcC7WO-rnibDtmB6cCgPFND0zpzjQlt0IYTHxTBsyS6MczcBsdl9jzyuO3rl802fZ5T1KhY5TxHGni8ljeMtXe0L-tNaJy6F6rjtfY2I4-RCZF4nQ6RPjd1AWoXhPI2Uw6YGu8TFIEGwK0k-vH6dRU2IrWXLuEgniirvLj4YZVVNtJzlhHeAE_yGE-3ygF3vU4aRWlD54gKv0lL1mO2EdeXbIUb4_jrlTwJN5Lxy2k0cv1t6HR8RVjTqj0k2gLDR-Rwe3bhNPQCuUyJOnllIh5OkKx-ZzxUU3qZ23T4phpqMCC67EQaJ1qrHcKX9nFZJ8qGwVaWbaQJHlPYQBpPCLtetNm7C5INxuEWmQMMvdlEtUyHlL8EQeYSc54kw_SaVTsHHs9PhX6uD-RcfzYFmfHcFKQaOO1oNFq6aHdIuK8BQuj8s_q4h4r3acU5QzHGwKuS9-0k3IOuvWU";
|
|
3
|
+
var clickedCoordinates = null;
|
|
4
|
+
var communicator = new VidroMaps.Communicator({
|
|
5
|
+
sessionToken: sessionToken,
|
|
6
|
+
});
|
|
7
|
+
|
|
8
|
+
var btZoomIn = document.getElementById("btZoomIn");
|
|
9
|
+
btZoomIn.addEventListener("click", function () {
|
|
10
|
+
console.log("m'han clicat");
|
|
11
|
+
communicator.ZoomIn();
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
var containerMessages = document.getElementById("messages");
|
|
15
|
+
|
|
16
|
+
communicator.on("onZoomChange", function (data) {
|
|
17
|
+
console.log("onZoomChange event", data);
|
|
18
|
+
containerMessages.innerHTML = data;
|
|
19
|
+
});
|
|
20
|
+
|
|
21
|
+
communicator.on("loaded", function (data) {
|
|
22
|
+
console.log("loaded event", data);
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
//clicked coordinates
|
|
26
|
+
communicator.on("coordinates", function (data) {
|
|
27
|
+
console.info("coordinates", data);
|
|
28
|
+
|
|
29
|
+
clickedCoordinates = [data.coordinates[0], data.coordinates[1]];
|
|
30
|
+
containerMessages.innerHTML = `Clicked coordinates -> x: ${data.coordinates[0]}, y: ${data.coordinates[1]}`;
|
|
31
|
+
communicator.infoFromCoordinates("wms", "COMPTSREG");
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
//info event
|
|
35
|
+
communicator.on("info", function (data) {
|
|
36
|
+
console.log("info received", data);
|
|
37
|
+
var dataToRender = data.data;
|
|
38
|
+
//depending on infoType, data.data can be an string or a JSON
|
|
39
|
+
if (data.infoType === "giswater") {
|
|
40
|
+
dataToRender = JSON.stringify(data.data);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
containerMessages.innerText = dataToRender;
|
|
44
|
+
});
|
|
@@ -1,87 +1,20 @@
|
|
|
1
|
-
// Config:
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
// UI:
|
|
5
|
-
|
|
6
|
-
var loginContainer = document.querySelector("#loginContainer");
|
|
7
|
-
|
|
8
|
-
var btLoadMap = document.querySelector("#btLoadMap");
|
|
9
|
-
|
|
10
1
|
|
|
11
2
|
var sessionToken = document.querySelector("#sessionToken");
|
|
12
3
|
var mapContainer = document.querySelector("#mapContainer");
|
|
13
|
-
var
|
|
14
|
-
var
|
|
15
|
-
mapContainer.classList.add("hide");
|
|
4
|
+
var codeContent = document.querySelector("#code");
|
|
5
|
+
var iframesContainer = document.querySelector("#iframes-container");
|
|
16
6
|
|
|
7
|
+
var iframe = document.querySelector("#map-frame");
|
|
8
|
+
var host = document.querySelector("#overrideHost");
|
|
9
|
+
var btLoadIframe = document.querySelector("#btLoadIframe");
|
|
17
10
|
|
|
18
11
|
|
|
19
12
|
//************** MAP EXAMPLE
|
|
20
13
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
var data = { zoom: zoom};
|
|
29
|
-
|
|
30
|
-
var srid = document.querySelector("#srid").value;
|
|
31
|
-
if(srid){
|
|
32
|
-
data.srid = srid;
|
|
33
|
-
}
|
|
34
|
-
var geoserver = document.querySelector("#geoserver").value;
|
|
35
|
-
if(geoserver){
|
|
36
|
-
data.geoserver = geoserver;
|
|
37
|
-
}
|
|
38
|
-
var geoserverdata = document.querySelector("#geoserverdata").value;
|
|
39
|
-
if(geoserverdata){
|
|
40
|
-
data.geoserverdata = geoserverdata;
|
|
41
|
-
}
|
|
42
|
-
var show_layers = document.querySelector("#show_layers").value;
|
|
43
|
-
if(show_layers){
|
|
44
|
-
data.show_layers = show_layers;
|
|
45
|
-
}
|
|
46
|
-
var extent = document.querySelector("#extent").value;
|
|
47
|
-
if(extent){
|
|
48
|
-
data.extent = extent;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
var oReq = new XMLHttpRequest();
|
|
53
|
-
|
|
54
|
-
oReq.addEventListener("load", mapListener);
|
|
55
|
-
oReq.open("POST", uri, true);
|
|
56
|
-
oReq.setRequestHeader("Content-type", "application/json");
|
|
57
|
-
oReq.send(JSON.stringify(data));
|
|
58
|
-
console.log("Attempt to load map", `${apiUrl}/vidromap/${name}`);
|
|
59
|
-
});
|
|
60
|
-
|
|
61
|
-
function mapListener() {
|
|
62
|
-
if (this.status === 200) {
|
|
63
|
-
console.log("mapListener response", this.responseText);
|
|
64
|
-
var res = JSON.parse(this.responseText);
|
|
65
|
-
errorContainer.classList.add("hide");
|
|
66
|
-
mapContainer.classList.remove("hide");
|
|
67
|
-
iframe.src = `${res.message.iframe}?sessionToken=${res.message.sessionToken}`;
|
|
68
|
-
sessionToken.innerHTML = res.message.sessionToken;
|
|
69
|
-
localStorage.setItem("iframe", iframe.src);
|
|
70
|
-
localStorage.setItem("sessionToken", res.message.sessionToken);
|
|
71
|
-
} else {
|
|
72
|
-
console.error(this.status);
|
|
73
|
-
var res = JSON.parse(this.responseText);
|
|
74
|
-
console.log(res.error);
|
|
75
|
-
//show DOM error element
|
|
76
|
-
errorContainer.innerHTML = res.error;
|
|
77
|
-
errorContainer.classList.remove("hide");
|
|
78
|
-
mapContainer.classList.add("hide");
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
//************** END MAP EXAMPLE
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
14
|
+
if(btLoadIframe){
|
|
15
|
+
btLoadIframe.addEventListener("click", function (evt) {
|
|
16
|
+
if(codeContent.value!=""){
|
|
17
|
+
iframesContainer.innerHTML = codeContent.value;
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
}
|
|
@@ -6,74 +6,71 @@
|
|
|
6
6
|
<link rel="icon" type="image/png" href="https://www.vidrosoftware.com/favicon/favicon-16x16.png" sizes="16x16" />
|
|
7
7
|
</head>
|
|
8
8
|
<body>
|
|
9
|
-
|
|
10
|
-
<div>
|
|
11
|
-
Api URL <input type="text" name="apiurl" id="apiurl" value="http://localhost" size="30">
|
|
12
|
-
</div>
|
|
13
|
-
</div>
|
|
9
|
+
|
|
14
10
|
|
|
15
11
|
|
|
16
12
|
<div class="form" id="userData">
|
|
17
|
-
<h1>
|
|
13
|
+
<h1>Vidromap</h1>
|
|
18
14
|
|
|
15
|
+
<div id="sessionToken"></div>
|
|
19
16
|
<div>
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
Custom logo: <input type="text" name="logo" id="logo" size="25" value="">
|
|
24
|
-
</div>
|
|
25
|
-
<div>
|
|
26
|
-
Name: <input type="text" name="name" id="name" size="25" value="opentest">
|
|
27
|
-
</div>
|
|
28
|
-
<div>
|
|
29
|
-
Srid: <input type="text" name="srid" id="srid" size="18" placeholder="EPSG:4326" value="EPSG:25831">
|
|
30
|
-
</div>
|
|
31
|
-
<div>
|
|
32
|
-
Geo server: <input type="text" name="geoserver" id="geoserver" size="54" value=""placeholder="https://nv.napr.gov.ge/geoserver/wms"> <small>Geo server url</small>
|
|
33
|
-
</div>
|
|
34
|
-
<div>
|
|
35
|
-
Show Layers: <input type="text" name="show_layers" id="show_layers" size="25" value="" placeholder="NG_REG_LAYER"> <small>Show layers on map load</small>
|
|
17
|
+
Paste your code here:<br> <textarea name="code" id="code" rows="10" cols="100" placeholder=""><iframe id="map-frame" name="map-frame" src="http://localhost:3000?sessionToken=eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJleHAiOjE2NTQ5MzMyMTksImF1ZCI6ImM1NzhjY2IyODFlMTY1ZGEwODljZWZlYzgxMGE5NDliNDllYWU5ODEiLCJkYXRhIjp7Inpvb20iOjksImJhY2tncm91bmQiOiJDYXJ0b0RCTGlnaHQiLCJzcmlkIjpudWxsLCJleHRlbnQiOm51bGwsImdlb3NlcnZpY2UiOiJRR0lTIiwibmFtZSI6IlBVTlRTTU9TVFJFSUcyIiwicHJldmlldyI6dHJ1ZSwiYXBpIjoiaHR0cHM6XC9cL2FwaS52aWRyb3NvZnR3YXJlLmNvbVwvIiwidHlwZSI6InZpZHJvbWFwIiwidG9rZW4iOiIwZGNkZTI2MjdhNDk0MTcxNjk0YTIxZmFmNjcwNmE5NiIsInNob3dfbGF5ZXJzIjoiUFVOVFNNT1NUUkVJRyIsImlkIjoxOTEsImxvZ28iOiJodHRwczpcL1wvd3d3LnZpZHJvc29mdHdhcmUuY29tXC9sb2dvc1wvVklEUk8uc3ZnIn19.qq2NOgCYPGqauE0IbCAoZoU8kHUaqhk9Z43f1ahFmNVAnjGpQ12xv2ITsvDR4g9LhfJg2s3MQaUKreZQTesIvDPLJGrwrCriDiBrsHnfgh0S0G3wQdUw58KxQapVVJKqznCK9QVaCQiA2xAm4HcLeRBHGpjd7f0sRa1kkGc-MGUkT5-S4WfPhJa7svs2YKM2n17MRBR5KCI6Ujlw-HMTt-UnBFs7CcHcvq-P5rbEs4UzMmvAiwM3Do-w3Mwx2fAeTq3RD1TdAobvPM3SiFKjoQINDW-4zj3Ds0Iuc2NNdIGzJX7hKelD80hXm5iHO3N8M-Du8lX2YCQS1qkz-XeKmRhKkLP_WCDC1ry1yKwTvd6xWvR_Hz1YbeAm6jmUYp6gIf0UZl_ZuwA-UQjMCWWmDrNvO9it215OwUEDPGznuvTfg-ESNLpmvxkedQoIsrVIRuSMwH4Vk990OMXSvYsZbJJZb71Z9BA1HhMQQ-ifT77m0vnBBfqeBikRAUhm0-uQq97JMRrb9GC9Pg_IQwg4jLtubirE5T-8JMjS6SWRfjeWdHmzFHngFxLkCayai7j8Bf8QoorBT0_zdcXYnzTKL3W9TDHmHdvQ4M8C7RVe3_NtNpJPm4ErmdWDL1NecsA8HUxWz5m6Y0FY7z8KO9hYpsRsj5MS4Q8zyldqvs91rx0" style="width:100%; height:600px;" ></iframe>
|
|
18
|
+
|
|
19
|
+
</textarea>
|
|
36
20
|
</div>
|
|
37
21
|
<div>
|
|
38
|
-
|
|
39
|
-
|
|
22
|
+
<button id="btGetElementsFromLayer">List Elements from layer</button>
|
|
23
|
+
<select id="format">
|
|
24
|
+
<option id="xml" selected value="xml">XML</option>
|
|
25
|
+
<option id="json" value="json">JSON</option>
|
|
26
|
+
</select> <small>Output format</small> Limit:
|
|
27
|
+
<input type="limit" name="limit" id="limit" size="4" value="2"><br><br>
|
|
28
|
+
</div>
|
|
40
29
|
<div>
|
|
41
|
-
Override Capabitilites extent: <input type="text" name="extent" id="extent" size="55" value="417309, 4576150, 420550, 4578120" placeholder="397663,4615771,406392,4623596"> <small>Override project extent</small>
|
|
42
|
-
</div>
|
|
43
|
-
<div>
|
|
44
|
-
Override iframe url: <input type="text" name="overrideHost" id="overrideHost" size="25" value="">
|
|
45
|
-
</div>
|
|
46
|
-
|
|
47
|
-
<div>
|
|
48
|
-
Background: <input type="text" name="Background" id="Background" size="25" value="">
|
|
49
|
-
</div>
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
<div>
|
|
53
30
|
Debug
|
|
31
|
+
<button id="btDebug">Debug</button>
|
|
54
32
|
<select id="debug">
|
|
55
|
-
<option id="1"
|
|
56
|
-
<option id="0"
|
|
57
|
-
</select>
|
|
58
|
-
</div>
|
|
59
|
-
<div>
|
|
60
|
-
<button id="btLoadMap">Load Map</button>
|
|
33
|
+
<option id="1" selected value=1>Show logs</option>
|
|
34
|
+
<option id="0" value=0>Hide logs</option>
|
|
35
|
+
</select> <small>Show/hide component logs</small>
|
|
61
36
|
</div>
|
|
62
37
|
</div>
|
|
38
|
+
<div>
|
|
39
|
+
<button id="btLoadIframe">Load Map</button> -
|
|
40
|
+
<button id="btLoadWMSLayers">Load layers from wms</button>
|
|
41
|
+
</div>
|
|
63
42
|
<div id="Error_container"></div>
|
|
64
|
-
<div id="mapContainer"
|
|
43
|
+
<div id="mapContainer">
|
|
65
44
|
|
|
66
|
-
<div id="sessionToken"></div>
|
|
67
45
|
<div id="iframes-container">
|
|
68
|
-
|
|
46
|
+
|
|
69
47
|
</div>
|
|
70
48
|
<hr />
|
|
71
49
|
<pre id="Result_container"></pre>
|
|
72
50
|
<hr/>
|
|
51
|
+
<h2>Custom colors</h2>
|
|
52
|
+
Geom fill color: <input type="text" name="geom_fill_color" id="geom_fill_color" size="12" value="rgba(252,0,0,0.37)"><br><br>
|
|
53
|
+
Geom stroke color: <input type="text" name="geom_stroke_color" id="geom_stroke_color" size="12" value="rgba(252,0,0,0.37)"><br><br>
|
|
54
|
+
Geom stroke width: <input type="text" name="geom_stroke_width" id="geom_stroke_width" size="4" value="1"><br><br>
|
|
55
|
+
Geom shape for points - circle/square: <select id="geom_shape">
|
|
56
|
+
<option id="circle" selected value="circle">Circle</option>
|
|
57
|
+
<option id="square" value="square">Square</option>
|
|
58
|
+
</select><br><br>
|
|
59
|
+
Point radius: <input type="text" name="geom_radius" id="geom_radius" size="4" value="4"><br><br>
|
|
60
|
+
<button id="btSetColors">Set colors</button> <br><br>
|
|
61
|
+
|
|
73
62
|
<h2>Zoom</h2>
|
|
74
63
|
<button id="btZoomIn">Zoom In</button>
|
|
75
64
|
<button id="btZoomOut">Zoom Out</button>
|
|
76
65
|
<button id="btZoomToExtent">Zoom to extent</button>
|
|
66
|
+
<br><br>
|
|
67
|
+
<button id="btZoomToCoordinates">Zoom to coordinates</button>
|
|
68
|
+
ZoomToCoordinates level: <input type="text" name="zoomLevelToCoordinates" id="zoomLevelToCoordinates" size="5" value="4">
|
|
69
|
+
<h2>Add geometry</h2>
|
|
70
|
+
<button id="btAddPoint">Add point</button>
|
|
71
|
+
<button id="btAddPolygon">Add polygon</button>
|
|
72
|
+
<button id="btAddLine">Add line</button>
|
|
73
|
+
<button id="btClear">Clear geometries</button>
|
|
77
74
|
<h2>Info</h2>
|
|
78
75
|
<button id="btWMSInfo" disabled="true">WMS Info</button>
|
|
79
76
|
<h2>Layers</h2>
|
|
@@ -83,11 +80,29 @@
|
|
|
83
80
|
<button id="btGetActiveLayer">Get Active Layer</button>
|
|
84
81
|
<span id="currentActiveLayer"></span>
|
|
85
82
|
|
|
83
|
+
<h2>Geolocation</h2>
|
|
84
|
+
<button id="btGeolocalize">Geolocalize User</button>
|
|
85
|
+
<button id="btStopGeolocalize">Cancel Geolocalize</button>
|
|
86
|
+
|
|
87
|
+
<h2>Highlight</h2>
|
|
88
|
+
<button id="btHighlight">Highlight geom</button>
|
|
89
|
+
Geom: <input type="text" name="geom" id="geom" size="25" value="">
|
|
90
|
+
<br>
|
|
91
|
+
Highlight to zoom level: <input type="text" name="zoomLevel" id="zoomLevel" size="5" value=""> or Zoom to geometry: <input type="checkbox" name="zoomToHighlightCheck" id="zoomToHighlightCheck" size="5" value="">
|
|
92
|
+
<h2>GeoJSON</h2>
|
|
93
|
+
<input type="file" id="geojsonfile" name="geojsonfile" accept="application/json"><small> Select geoJSON file</small><br><br>
|
|
94
|
+
<small>Or paste geoJSON content</small><br><br>
|
|
95
|
+
<textarea name="geojsondata" id="geojsondata" rows="10" cols="80" placeholder=""></textarea> <br><br>
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
<button id="btAddGeoJSON">Add GeoJSON </button><br><br>
|
|
99
|
+
|
|
100
|
+
|
|
86
101
|
</div>
|
|
87
102
|
|
|
88
|
-
|
|
103
|
+
<<!--script src="https://unpkg.com/@vidro/map-handler@1.0.8/dist/map-handler.js"></script>-->
|
|
89
104
|
<script src="../../dist/map-handler.js"></script>
|
|
90
|
-
<script src="../full/
|
|
91
|
-
<script src="./
|
|
105
|
+
<script src="../full/taigua.js"></script>
|
|
106
|
+
<script src="./index.js"></script>
|
|
92
107
|
</body>
|
|
93
108
|
</html>
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
|
|
2
|
+
<!DOCTYPE html>
|
|
3
|
+
<html>
|
|
4
|
+
<link rel="stylesheet" type="text/css" href="./css/fulla.css" media="screen" />
|
|
5
|
+
<body>
|
|
6
|
+
<div><iframe id="map-frame" name="map-frame" width="100%" height="750" allow="geolocation"
|
|
7
|
+
src="https://component.vidrosoftware.com?sessionToken=eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhdWQiOiJmYzYyYmY3ZTcyN2I5N2MxMTU3YzRjODQ0MjgxOGYyM2E5MDM0MmYyIiwiZGF0YSI6eyJ6b29tIjo5LCJiYWNrZ3JvdW5kIjoiQ2FydG9EQkxpZ2h0Iiwic3JpZCI6bnVsbCwiZXh0ZW50IjpudWxsLCJnZW9zZXJ2aWNlIjoiUUdJUyIsIm5hbWUiOiJQVU5UU01PU1RSRUlHMiIsInByZXZpZXciOmZhbHNlLCJhcGkiOiJodHRwczpcL1wvYXBpLnZpZHJvc29mdHdhcmUuY29tXC8iLCJ0eXBlIjoidmlkcm9tYXAiLCJ0b2tlbiI6ImIzYWM0N2M0MDIzYzJiMjBmNTU2MGVkZGFlMzllMDIyIiwic2hvd19sYXllcnMiOiJQVU5UU01PU1RSRUlHIiwiaWQiOjE5MSwibG9nbyI6Imh0dHBzOlwvXC93d3cudmlkcm9zb2Z0d2FyZS5jb21cL2xvZ29zXC9WSURSTy5zdmcifX0.V810R82nV0qpw4UcZQuUfINuTeCXSOX7bOwJzMxWurTcHXw-Zxlzb753aQuI0-biodJQrIvV_MQMh5PJImrKQOEEDa-z4pDiEhiHo1uAdOHLRHBmcdG7p_ejRVc76LGeIF3Dh566pnPPAFZRSdsd_tS5Wdeye84OTyUoQG9oZ27UsE-ctr43Umlo1oi-As0g41ITv6nuao51hSd1xOAqozKYqf1IUVY-z4g9EbvVikOn8RVs9BIedQOA3YtKPeV_UXMpjBIWgjnJDCkty08DYxZGsxnaoKo2YoBOTR9deaRIEVygvXPY485hJY3mD25SSmuJof474WlpmyVqSPZTunAMU7uRBCV-XpMYb9hlLzG0mXB26E-l41PEZGwPsBi0p-QvnYFcUhT2F9pZckcI63lxU4-XRdaTbaG0N3Aznk9zO6_RC3QEHp6fLaq74zrMUbOROR5gkBmEAg28PkUNv4zMPV91lcx6qLJVkO7M_4uzr9bSJmifC7XFvm5MiRSgdfEVCG4-TNnc_V-ake_ijNAFU-YsmSoZ2HejbZf61uemYu6S8_JnTAS1fGamv4DA4L0cDsCfNcwtbC-yIaQeRdq36b1Q612RcWIChX8MHpb_RoRfrI-lLsyf8VgX24I0piAAq9TAIsk2UYFu10ebYR0kpeMzXS0wxkKE-ArfTFU"></iframe>
|
|
8
|
+
</div>
|
|
9
|
+
<div id="botonera">
|
|
10
|
+
|
|
11
|
+
<button id="btZoomIn" name="btZoomIn"> <img id="img" src="./img/zoom-in.png"/></button>
|
|
12
|
+
<button id="btZoomOut" name="btZoomOut"><img id="img" src="./img/zoom-out.png"></button>
|
|
13
|
+
<button id="btPosition" name="btPosition"><img id="img" src="./img/geo.png"></button>
|
|
14
|
+
<button id="btZoomToCoordinates" name="btZoomToCoordinates"><img id="img" src="./img/geo.png"></button>
|
|
15
|
+
<button id="btGetElementsFromLayer" name="btGetElementsFromLayer">Get Elements from layer</button>
|
|
16
|
+
<br>
|
|
17
|
+
<label>Cercar:</label>
|
|
18
|
+
<ul>
|
|
19
|
+
<li><a href="">Punt 1</a></li>
|
|
20
|
+
<li><a href="">Punt 2</a></li>
|
|
21
|
+
</ul>
|
|
22
|
+
|
|
23
|
+
</div>
|
|
24
|
+
<p>
|
|
25
|
+
<a href="http://jigsaw.w3.org/css-validator/check/referer">
|
|
26
|
+
<img style="border:0;width:88px;height:31px"
|
|
27
|
+
src="http://jigsaw.w3.org/css-validator/images/vcss-blue"
|
|
28
|
+
alt="¡CSS Válido!" />
|
|
29
|
+
</a>
|
|
30
|
+
</p>
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
<div id="messages"></div>
|
|
34
|
+
</body>
|
|
35
|
+
<script src="https://unpkg.com/@vidro/map-handler@1.0.7/dist/map-handler.js"></script>
|
|
36
|
+
<script src="main.js"></script>
|
|
37
|
+
</html>
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
var sessionToken =
|
|
2
|
+
"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJleHAiOjE2NTQ5MzMyMTksImF1ZCI6ImM1NzhjY2IyODFlMTY1ZGEwODljZWZlYzgxMGE5NDliNDllYWU5ODEiLCJkYXRhIjp7Inpvb20iOjksImJhY2tncm91bmQiOiJDYXJ0b0RCTGlnaHQiLCJzcmlkIjpudWxsLCJleHRlbnQiOm51bGwsImdlb3NlcnZpY2UiOiJRR0lTIiwibmFtZSI6IlBVTlRTTU9TVFJFSUcyIiwicHJldmlldyI6dHJ1ZSwiYXBpIjoiaHR0cHM6XC9cL2FwaS52aWRyb3NvZnR3YXJlLmNvbVwvIiwidHlwZSI6InZpZHJvbWFwIiwidG9rZW4iOiIwZGNkZTI2MjdhNDk0MTcxNjk0YTIxZmFmNjcwNmE5NiIsInNob3dfbGF5ZXJzIjoiUFVOVFNNT1NUUkVJRyIsImlkIjoxOTEsImxvZ28iOiJodHRwczpcL1wvd3d3LnZpZHJvc29mdHdhcmUuY29tXC9sb2dvc1wvVklEUk8uc3ZnIn19.qq2NOgCYPGqauE0IbCAoZoU8kHUaqhk9Z43f1ahFmNVAnjGpQ12xv2ITsvDR4g9LhfJg2s3MQaUKreZQTesIvDPLJGrwrCriDiBrsHnfgh0S0G3wQdUw58KxQapVVJKqznCK9QVaCQiA2xAm4HcLeRBHGpjd7f0sRa1kkGc-MGUkT5-S4WfPhJa7svs2YKM2n17MRBR5KCI6Ujlw-HMTt-UnBFs7CcHcvq-P5rbEs4UzMmvAiwM3Do-w3Mwx2fAeTq3RD1TdAobvPM3SiFKjoQINDW-4zj3Ds0Iuc2NNdIGzJX7hKelD80hXm5iHO3N8M-Du8lX2YCQS1qkz-XeKmRhKkLP_WCDC1ry1yKwTvd6xWvR_Hz1YbeAm6jmUYp6gIf0UZl_ZuwA-UQjMCWWmDrNvO9it215OwUEDPGznuvTfg-ESNLpmvxkedQoIsrVIRuSMwH4Vk990OMXSvYsZbJJZb71Z9BA1HhMQQ-ifT77m0vnBBfqeBikRAUhm0-uQq97JMRrb9GC9Pg_IQwg4jLtubirE5T-8JMjS6SWRfjeWdHmzFHngFxLkCayai7j8Bf8QoorBT0_zdcXYnzTKL3W9TDHmHdvQ4M8C7RVe3_NtNpJPm4ErmdWDL1NecsA8HUxWz5m6Y0FY7z8KO9hYpsRsj5MS4Q8zyldqvs91rx0"
|
|
3
|
+
var clickedCoordinates = null;
|
|
4
|
+
var communicator = new VidroMaps.Communicator({
|
|
5
|
+
sessionToken: sessionToken,
|
|
6
|
+
});
|
|
7
|
+
var selected_layer; //active layer
|
|
8
|
+
|
|
9
|
+
//ZoomIn -------------------------------------------------------------
|
|
10
|
+
var btZoomIn = document.getElementById("btZoomIn");
|
|
11
|
+
btZoomIn.addEventListener("click", function () {
|
|
12
|
+
console.log("Zoom In");
|
|
13
|
+
communicator.ZoomIn();
|
|
14
|
+
});
|
|
15
|
+
//ZoomOut-------------------------------------------------------------
|
|
16
|
+
var btZoomOut = document.getElementById("btZoomOut");
|
|
17
|
+
btZoomOut.addEventListener("click", function () {
|
|
18
|
+
console.log("Zoom Out");
|
|
19
|
+
communicator.ZoomOut();
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
//GeoPosicionament----------------------------------------------------
|
|
23
|
+
var btZoomToCoordinates = document.getElementById("btZoomToCoordinates");
|
|
24
|
+
|
|
25
|
+
/*btZoomToCoordinates.addEventListener("click", function () {
|
|
26
|
+
//console.log("m'han clicat i demanat geolocalitzacio");
|
|
27
|
+
//containerMessages.innerHTML = `Coordinates -> x: ${data.coordinates[0]}, y: ${data.coordinates[1]}`;
|
|
28
|
+
//communicator.zoomToCoordinates;
|
|
29
|
+
|
|
30
|
+
communicator.zoomToCoordinates(419006.12985785044, 4576698.8136144625, 18);
|
|
31
|
+
console.log("llego")
|
|
32
|
+
});
|
|
33
|
+
*/
|
|
34
|
+
|
|
35
|
+
//zoomTocoordinates
|
|
36
|
+
if(btZoomToCoordinates){
|
|
37
|
+
btZoomToCoordinates.addEventListener("click", function(){
|
|
38
|
+
console.log("btZoomToCoordinates clicked" )
|
|
39
|
+
let level = 18;
|
|
40
|
+
if(document.getElementById('zoomLevelToCoordinates')){
|
|
41
|
+
//zoom Level
|
|
42
|
+
level = document.getElementById('zoomLevelToCoordinates').value
|
|
43
|
+
}
|
|
44
|
+
if(clickedCoordinates){
|
|
45
|
+
communicator.zoomToCoordinates(clickedCoordinates[0],clickedCoordinates[1],level);
|
|
46
|
+
}else{
|
|
47
|
+
console.error("No coordinates provided");
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
var btZoomToExtent = document.querySelector("#btZoomToExtent");
|
|
54
|
+
|
|
55
|
+
//capa actual
|
|
56
|
+
var currentActiveLayer = null;
|
|
57
|
+
function cleanContainers(){
|
|
58
|
+
Error_container.innerHTML = '';
|
|
59
|
+
Result_container.innerHTML = '';
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
//per veure les capas
|
|
63
|
+
communicator.on("layers", function(data){
|
|
64
|
+
console.log("layers received",data);
|
|
65
|
+
//fillDisplayedLayersSelect(data);
|
|
66
|
+
selected_layer = data[0]; //select first layer from available layers
|
|
67
|
+
});
|
|
68
|
+
|
|
69
|
+
//error event
|
|
70
|
+
communicator.on("error", function(data){
|
|
71
|
+
console.error("error",data);
|
|
72
|
+
cleanContainers();
|
|
73
|
+
Error_container.innerHTML = data.error;
|
|
74
|
+
});
|
|
75
|
+
|
|
76
|
+
//clicked coordinates
|
|
77
|
+
communicator.on("coordinates", function (data) {
|
|
78
|
+
console.info("coordinates", data);
|
|
79
|
+
|
|
80
|
+
clickedCoordinates = [data.coordinates[0], data.coordinates[1]];
|
|
81
|
+
containerMessages.innerHTML = `Clicked coordinates -> x: ${data.coordinates[0]}, y: ${data.coordinates[1]}`;
|
|
82
|
+
});
|
|
83
|
+
|
|
84
|
+
//event geolocation
|
|
85
|
+
communicator.on("geolocation", function(data){
|
|
86
|
+
console.info("geolocation",data);
|
|
87
|
+
containerMessages.innerHTML= `Geolocation: -> ${data}`;
|
|
88
|
+
|
|
89
|
+
cleanContainers();
|
|
90
|
+
});
|
|
91
|
+
|
|
92
|
+
//info event
|
|
93
|
+
communicator.on("info", function(data){
|
|
94
|
+
console.log("info received",data);
|
|
95
|
+
var dataToRender = data.data;
|
|
96
|
+
//depending on infoType, data.data can be an string or a JSON
|
|
97
|
+
if(data.infoType==="giswater"){
|
|
98
|
+
dataToRender = JSON.stringify(data.data)
|
|
99
|
+
}
|
|
100
|
+
cleanContainers();
|
|
101
|
+
Result_container.innerText = dataToRender;
|
|
102
|
+
});
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
|
|
107
|
+
var containerMessages = document.getElementById("messages");
|
|
108
|
+
|
|
109
|
+
//geolocation
|
|
110
|
+
communicator.on("geolocation", function(data){
|
|
111
|
+
console.info("geolocation",data);
|
|
112
|
+
cleanContainers();
|
|
113
|
+
result_container.innerHTML = `Clicked coordinates -> x: ${data.coordinates[0]}, y: ${data.coordinates[1]}`;
|
|
114
|
+
|
|
115
|
+
});
|
|
116
|
+
|
|
117
|
+
|
|
118
|
+
|
|
119
|
+
communicator.on("onZoomChange", function (data) {
|
|
120
|
+
console.log("onZoomChange event", data);
|
|
121
|
+
//containerMessages.innerHTML = `Zoom aplicat: ${data}`;
|
|
122
|
+
});
|
|
123
|
+
|
|
124
|
+
communicator.on("loaded", function (data) {
|
|
125
|
+
console.log("loaded event", data);
|
|
126
|
+
});
|
|
127
|
+
|
|
128
|
+
//zoom to extent
|
|
129
|
+
if(btZoomToExtent){
|
|
130
|
+
btZoomToExtent.addEventListener("click", function(){
|
|
131
|
+
cleanContainers();
|
|
132
|
+
communicator.zoomToExtent();
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
|
|
137
|
+
//info event
|
|
138
|
+
communicator.on("info", function (data) {
|
|
139
|
+
console.log("info received", data);
|
|
140
|
+
var dataToRender = data.data;
|
|
141
|
+
//depending on infoType, data.data can be an string or a JSON
|
|
142
|
+
if (data.infoType === "giswater") {
|
|
143
|
+
dataToRender = JSON.stringify(data.data);
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
containerMessages.innerText = dataToRender;
|
|
147
|
+
});
|
|
148
|
+
|
|
149
|
+
|
|
150
|
+
//NEW
|
|
151
|
+
|
|
152
|
+
var btGetElementsFromLayer = document.querySelector("#btGetElementsFromLayer");
|
|
153
|
+
if(btGetElementsFromLayer){
|
|
154
|
+
|
|
155
|
+
btGetElementsFromLayer.addEventListener("click", function(){
|
|
156
|
+
let limit = document.getElementById('limit') ? document.getElementById('limit').value : 100;
|
|
157
|
+
let format = document.getElementById('format') ? document.getElementById('format').value : 'xml';
|
|
158
|
+
communicator.getElementsFromLayer(selected_layer,limit,format);
|
|
159
|
+
});
|
|
160
|
+
}
|
package/flows.md
ADDED
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
# Map Handler flows
|
|
2
|
+
|
|
3
|
+
This document defines use case flows of map handler
|
|
4
|
+
|
|
5
|
+
## Vidromaps basic flow
|
|
6
|
+
|
|
7
|
+
Vidromaps basic flow
|
|
8
|
+
|
|
9
|
+
1. Login to giswater - API `letsgo`
|
|
10
|
+
2. Get map - API `map/{project_id}`
|
|
11
|
+
3. Load iframe
|
|
12
|
+
|
|
13
|
+

|
|
14
|
+
|
|
15
|
+
## Giswater basic flow
|
|
16
|
+
|
|
17
|
+
Giswater basic flow
|
|
18
|
+
|
|
19
|
+
1. Login to giswater - API `letsgo`
|
|
20
|
+
2. Get map - API `map/{project_id}`
|
|
21
|
+
3. Load iframe
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+

|
|
25
|
+
|
|
26
|
+
## Giswater info
|
|
27
|
+
|
|
28
|
+
Giswater info can be performed using mapHandler or usind API REST methods
|
|
29
|
+
|
|
30
|
+
1. Login to giswater - API `letsgo`
|
|
31
|
+
2. Get map - API `map/{project_id}`
|
|
32
|
+
3. Load iframe
|
|
33
|
+
4. Instance mapHandler - `new VidroMaps.Communicator({sessionToken});`
|
|
34
|
+
5. Click on map
|
|
35
|
+
|
|
36
|
+
**Using mapHandler**
|
|
37
|
+
|
|
38
|
+
6. Info`mapHandler.js` method [**`infofromcoordinates `**](https://github.com/Vidro-Software-SL/maphandler#infofromcoordinates)
|
|
39
|
+

|
|
40
|
+
|
|
41
|
+
**Using API REST**
|
|
42
|
+
|
|
43
|
+
6. Listen event [**`coordinates`**](https://github.com/Vidro-Software-SL/maphandler#coordinates)
|
|
44
|
+
7. POST to API `giswater/info` with x, y, srid and device parameters.
|
|
45
|
+
|
|
46
|
+

|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
## Giswater display layer
|
|
50
|
+
|
|
51
|
+
Display a Giswater layer using mapHandler
|
|
52
|
+
|
|
53
|
+
1. Login to giswater - API `letsgo`
|
|
54
|
+
2. Get map - API `map/{project_id}`
|
|
55
|
+
3. Load iframe
|
|
56
|
+
4. Instance mapHandler - `new VidroMaps.Communicator({sessionToken});`
|
|
57
|
+
5. Render layer using `mapHandler.js` method [**`toggleLayer`**](https://github.com/Vidro-Software-SL/maphandler#togglelayer)
|
|
58
|
+
|
|
59
|
+

|
|
60
|
+
|
|
61
|
+
## Giswater JSON layer
|
|
62
|
+
|
|
63
|
+
Giswater layers can be rendered as geojson.
|
|
64
|
+
|
|
65
|
+
1. Login to giswater - API `letsgo`
|
|
66
|
+
2. Get map - API `map/{project_id}`
|
|
67
|
+
3. Load iframe
|
|
68
|
+
4. Get geojson data for a layer - API `giswater/geojson/{project_id}/{layer_name}`.
|
|
69
|
+
5. Instance mapHandler - `new VidroMaps.Communicator({sessionToken});`
|
|
70
|
+
6. Render geojson data using `maphandler.js` method [**`addGeoJSON`**](https://github.com/Vidro-Software-SL/maphandler#addgeojson)
|
|
71
|
+

|
|
72
|
+
|
|
73
|
+
|
package/package.json
CHANGED