Commit b9209692256100b0312880038d1397c9da1f60c7
1 parent
2ce25ea0
Exists in
master
and in
7 other branches
Inclusão da ferramenta de geração de rotas e visualização do mapa do i3geo dentro do mapa do google
Showing
2 changed files
with
139 additions
and
5 deletions
Show diff stats
ferramentas/googlemaps/index.php
@@ -4,7 +4,7 @@ include_once("../../ms_configura.php"); | @@ -4,7 +4,7 @@ include_once("../../ms_configura.php"); | ||
4 | <html> | 4 | <html> |
5 | <head> | 5 | <head> |
6 | <script src="../../pacotes/cpaint/cpaint2.inc.compressed.js" type="text/javascript"></script> | 6 | <script src="../../pacotes/cpaint/cpaint2.inc.compressed.js" type="text/javascript"></script> |
7 | -<script language="JavaScript" type="text/javascript" src="http://maps.google.com/maps?file=api&v=2&key=<?php echo $googleApiKey; ?>"> | 7 | +<script language="JavaScript" type="text/javascript" src="http://maps.google.com/maps?file=api&v=2.x&key=<?php echo $googleApiKey; ?>"> |
8 | </script> | 8 | </script> |
9 | <title></title> | 9 | <title></title> |
10 | </head> | 10 | </head> |
@@ -12,6 +12,7 @@ include_once("../../ms_configura.php"); | @@ -12,6 +12,7 @@ include_once("../../ms_configura.php"); | ||
12 | <div id="map" style="width: 440px; height: 340px"></div> | 12 | <div id="map" style="width: 440px; height: 340px"></div> |
13 | 13 | ||
14 | <script type="text/javascript" > | 14 | <script type="text/javascript" > |
15 | + counterClick = 0 | ||
15 | var m = document.getElementById("map") | 16 | var m = document.getElementById("map") |
16 | m.style.width = window.parent.objmapa.w / 2 | 17 | m.style.width = window.parent.objmapa.w / 2 |
17 | m.style.height = window.parent.objmapa.h / 2 | 18 | m.style.height = window.parent.objmapa.h / 2 |
@@ -77,6 +78,7 @@ include_once("../../ms_configura.php"); | @@ -77,6 +78,7 @@ include_once("../../ms_configura.php"); | ||
77 | botaoI3geo.prototype = new GControl(); | 78 | botaoI3geo.prototype = new GControl(); |
78 | botaoI3geo.prototype.initialize = function(map) { | 79 | botaoI3geo.prototype.initialize = function(map) { |
79 | var container = document.createElement("div"); | 80 | var container = document.createElement("div"); |
81 | + | ||
80 | var i3geo = document.createElement("div"); | 82 | var i3geo = document.createElement("div"); |
81 | this.setButtonStyle_(i3geo); | 83 | this.setButtonStyle_(i3geo); |
82 | container.appendChild(i3geo); | 84 | container.appendChild(i3geo); |
@@ -84,11 +86,19 @@ include_once("../../ms_configura.php"); | @@ -84,11 +86,19 @@ include_once("../../ms_configura.php"); | ||
84 | GEvent.addDomListener(i3geo, "click", function() { | 86 | GEvent.addDomListener(i3geo, "click", function() { |
85 | ativaI3geo(); | 87 | ativaI3geo(); |
86 | }); | 88 | }); |
89 | + | ||
90 | + var rota = document.createElement("div"); | ||
91 | + this.setButtonStyle_(rota); | ||
92 | + container.appendChild(rota); | ||
93 | + rota.appendChild(document.createTextNode("Rota")); | ||
94 | + GEvent.addDomListener(rota, "click", function() { | ||
95 | + ativaI3geoRota(); | ||
96 | + }); | ||
87 | map.getContainer().appendChild(container); | 97 | map.getContainer().appendChild(container); |
88 | return container; | 98 | return container; |
89 | } | 99 | } |
90 | botaoI3geo.prototype.getDefaultPosition = function() { | 100 | botaoI3geo.prototype.getDefaultPosition = function() { |
91 | - return new GControlPosition(G_ANCHOR_TOP_LEFT, new GSize(70, 6)); | 101 | + return new GControlPosition(G_ANCHOR_TOP_LEFT, new GSize(50, 50)); |
92 | } | 102 | } |
93 | botaoI3geo.prototype.setButtonStyle_ = function(button) { | 103 | botaoI3geo.prototype.setButtonStyle_ = function(button) { |
94 | button.style.textDecoration = "none"; | 104 | button.style.textDecoration = "none"; |
@@ -180,6 +190,133 @@ include_once("../../ms_configura.php"); | @@ -180,6 +190,133 @@ include_once("../../ms_configura.php"); | ||
180 | map.addOverlay(wmsmap); | 190 | map.addOverlay(wmsmap); |
181 | } | 191 | } |
182 | } | 192 | } |
193 | + function ativaI3geoRota() | ||
194 | + { | ||
195 | + rotaEvento = GEvent.addListener(map, "click", parametrosRota); | ||
196 | + alert("Clique o ponto de origem da rota"); | ||
197 | + counterClick++; | ||
198 | + } | ||
199 | + function parametrosRota(overlay,latlng) | ||
200 | + { | ||
201 | + if(counterClick == 1) | ||
202 | + { | ||
203 | + counterClick++; | ||
204 | + alert("Clique o ponto de destino da rota"); | ||
205 | + pontoRota1 = latlng | ||
206 | + return; | ||
207 | + } | ||
208 | + if(counterClick == 2) | ||
209 | + { | ||
210 | + pontoRota2 = latlng | ||
211 | + counterClick = 0; | ||
212 | + GEvent.removeListener(rotaEvento) | ||
213 | + constroiRota() | ||
214 | + } | ||
215 | + } | ||
216 | + | ||
217 | + function constroiRota() | ||
218 | + { | ||
219 | + geocoder = new GClientGeocoder(); | ||
220 | + var pt2 = function(response) | ||
221 | + { | ||
222 | + if (!response || response.Status.code != 200) { | ||
223 | + alert("Status Code:" + response.Status.code); | ||
224 | + } else { | ||
225 | + place = response.Placemark[0]; | ||
226 | + point = new GLatLng(place.Point.coordinates[1],place.Point.coordinates[0]); | ||
227 | + marker = new GMarker(point); | ||
228 | + map.addOverlay(marker); | ||
229 | + /* | ||
230 | + marker.openInfoWindowHtml( | ||
231 | + '<b>orig latlng:</b>' + response.name + '<br/>' + | ||
232 | + '<b>latlng:</b>' + place.Point.coordinates[0] + "," + place.Point.coordinates[1] + '<br>' + | ||
233 | + '<b>Status Code:</b>' + response.Status.code + '<br>' + | ||
234 | + '<b>Status Request:</b>' + response.Status.request + '<br>' + | ||
235 | + '<b>Address:</b>' + place.address + '<br>' + | ||
236 | + '<b>Accuracy:</b>' + place.AddressDetails.Accuracy + '<br>' + | ||
237 | + '<b>Country code:</b> ' + place.AddressDetails.Country.CountryNameCode); | ||
238 | + */ | ||
239 | + endereco2 = place.address; | ||
240 | + montaRota() | ||
241 | + } | ||
242 | + } | ||
243 | + | ||
244 | + var pt1 = function(response) | ||
245 | + { | ||
246 | + map.clearOverlays(); | ||
247 | + if (!response || response.Status.code != 200) { | ||
248 | + alert("Status Code:" + response.Status.code); | ||
249 | + } else { | ||
250 | + place = response.Placemark[0]; | ||
251 | + point = new GLatLng(place.Point.coordinates[1],place.Point.coordinates[0]); | ||
252 | + marker = new GMarker(point); | ||
253 | + map.addOverlay(marker); | ||
254 | + /* | ||
255 | + marker.openInfoWindowHtml( | ||
256 | + '<b>orig latlng:</b>' + response.name + '<br/>' + | ||
257 | + '<b>latlng:</b>' + place.Point.coordinates[0] + "," + place.Point.coordinates[1] + '<br>' + | ||
258 | + '<b>Status Code:</b>' + response.Status.code + '<br>' + | ||
259 | + '<b>Status Request:</b>' + response.Status.request + '<br>' + | ||
260 | + '<b>Address:</b>' + place.address + '<br>' + | ||
261 | + '<b>Accuracy:</b>' + place.AddressDetails.Accuracy + '<br>' + | ||
262 | + '<b>Country code:</b> ' + place.AddressDetails.Country.CountryNameCode); | ||
263 | + */ | ||
264 | + endereco1 = place.address; | ||
265 | + } | ||
266 | + geocoder.getLocations(pontoRota2, pt2); | ||
267 | + | ||
268 | + } | ||
269 | + geocoder.getLocations(pontoRota1, pt1); | ||
270 | + } | ||
271 | + function montaRota() | ||
272 | + { | ||
273 | + if(!document.getElementById("descrota")) | ||
274 | + { | ||
275 | + var descrota = document.createElement("div"); | ||
276 | + descrota.id = "descrota" | ||
277 | + document.body.appendChild(descrota); | ||
278 | + } | ||
279 | + else | ||
280 | + { | ||
281 | + descrota = document.getElementById("descrota") | ||
282 | + descrota.innerHTML = "" | ||
283 | + } | ||
284 | + directions = new GDirections(map, descrota); | ||
285 | + directions.load("from: "+endereco1+" to: "+endereco2); | ||
286 | + GEvent.addListener(directions, "load", function() { | ||
287 | + var linha = directions.getPolyline(); | ||
288 | + var nvertices = linha.getVertexCount(); | ||
289 | + pontos = new Array() | ||
290 | + for(i=0;i<nvertices;i++) | ||
291 | + { | ||
292 | + var vertice = linha.getVertex(i); | ||
293 | + pontos.push(vertice.lng()+" "+vertice.lat()) | ||
294 | + } | ||
295 | + function ativanovotema(retorno) | ||
296 | + { | ||
297 | + var temaNovo = retorno.data | ||
298 | + var converteParaLinha = function() | ||
299 | + { | ||
300 | + var cp = new cpaint(); | ||
301 | + cp.set_response_type("JSON"); | ||
302 | + //cp.set_debug(2) | ||
303 | + var p = window.parent.g_locaplic+"/classesphp/mapa_controle.php?g_sid="+window.parent.g_sid+"&funcao=sphPT2shp¶=linha&tema="+temaNovo; | ||
304 | + cp.call(p,"sphPT2shp",window.parent.ajaxredesenha); | ||
305 | + } | ||
306 | + var p = window.parent.g_locaplic+"/classesphp/mapa_controle.php?g_sid="+window.parent.g_sid+"&funcao=insereSHP&tema="+retorno.data+"&xy="+pontos.join(" "); | ||
307 | + var cp = new cpaint(); | ||
308 | + //cp.set_debug(2) | ||
309 | + cp.set_response_type("JSON"); | ||
310 | + cp.call(p,"insereSHP",converteParaLinha); | ||
311 | + } | ||
312 | + var cp = new cpaint(); | ||
313 | + cp.set_response_type("JSON"); | ||
314 | + cp.set_transfer_mode("POST"); | ||
315 | + var p = window.parent.g_locaplic+"/classesphp/mapa_controle.php?g_sid="+window.parent.g_sid; | ||
316 | + cp.call(p,"criaSHPvazio",ativanovotema,"&funcao=criashpvazio"); | ||
317 | + | ||
318 | + }); | ||
319 | + } | ||
183 | ondegoogle(map); | 320 | ondegoogle(map); |
184 | </script> | 321 | </script> |
185 | </body> | 322 | </body> |
ferramentas/inserexy2/index.js
@@ -152,9 +152,6 @@ function criatemaeditavel() | @@ -152,9 +152,6 @@ function criatemaeditavel() | ||
152 | var cp = new cpaint(); | 152 | var cp = new cpaint(); |
153 | cp.set_response_type("JSON"); | 153 | cp.set_response_type("JSON"); |
154 | cp.set_transfer_mode("POST"); | 154 | cp.set_transfer_mode("POST"); |
155 | - //cp.set_debug(2) | ||
156 | - //var p = g_locaplic+"/classesphp/mapa_controle.php?g_sid="+g_sid+"&funcao=criashpvazio"; | ||
157 | - //cp.call(p,"criaSHPvazio",ativanovotema); | ||
158 | var p = g_locaplic+"/classesphp/mapa_controle.php?g_sid="+g_sid; | 155 | var p = g_locaplic+"/classesphp/mapa_controle.php?g_sid="+g_sid; |
159 | cp.call(p,"criaSHPvazio",ativanovotema,"&funcao=criashpvazio"); | 156 | cp.call(p,"criaSHPvazio",ativanovotema,"&funcao=criashpvazio"); |
160 | } | 157 | } |