Wiki source code of Cartography
Show last authors
1 | = Cartography = |
2 | |
3 | To add the cartography functionality, edit the file dysoweb.properties located in the folder tomcat/webapps/dysoweb/WEB-INF/classes: |
4 | |
5 | * add ",\" at the end of the last row. |
6 | * then add the row "com.almworks.sqlite4java" atthe end of the file. |
7 | |
8 | Edit the file requeadb.xml located in dysoweb.home/config by adding the row : |
9 | <DbSpatial>true</DbSpatial> |
10 | |
11 | In the Requea interface, go to the menu System Parameters in the item l’onglet Administrator and modify these two parameters: |
12 | |
13 | * com.requea.osm.tiles.path : inform the path to the .mbtiles file |
14 | * com.requea.dynapage.geospatial.geomap : put the value OSM |
15 | |
16 | = Use Cartography = |
17 | |
18 | To display items on the map, you have to create an entity with a property type //spacial Geometry// and the format //2D Geodetic property// : |
19 | |
20 | |
21 | To view the map from the .mbtiles file, create an entity derived from GeoMapView: |
22 | |
23 | |
24 | Modify the script of the field Display rules or behavior in the properties sysView and sysZoom so that it point to your preferred location: |
25 | |
26 | |
27 | To display items on that map, edit the operation BuildMap with a script. |
28 | |
29 | For example: |
30 | |
31 | {{code language="javascript"}} |
32 | var map = {}; |
33 | map.layers = []; |
34 | var layer; |
35 | |
36 | layer = {}; |
37 | layer.title = "Items"; |
38 | layer.layers = []; |
39 | |
40 | var flt = new Filter("custItem"); |
41 | |
42 | var iter = flt.search(); |
43 | |
44 | while(iter.hasNext()) { |
45 | var item = iter.next(); |
46 | var pos = item.custGeoPosition; |
47 | |
48 | //add the item on the map, at the position specified |
49 | layer.points.push({pos:pos }); |
50 | } |
51 | map.layers.push(layer); |
52 | |
53 | data = new Json(map); |
54 | } |
55 | {{/code}} |
56 | |
57 | You can change the default icon of the item by adding a icon field in the JSON Object layer.points. |
58 | For example: |
59 | |
60 | {{code language="javascript"}} |
61 | |
62 | layer.points = []; |
63 | |
64 | layer.icons = [ { url:'/img/img1.png',x:-16,y:-16}, |
65 | { url:'img/img2.png',x:-16,y:-16}, |
66 | { url:'img/img3.png',x:-16,y:-16}, |
67 | { url:'/img/img4.png',x:-16,y:-16} |
68 | ]; |
69 | layer.points.push({icon:icon }); |
70 | |
71 | {{/code}} |