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 | 4 | <html> |
| 5 | 5 | <head> |
| 6 | 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 | 8 | </script> |
| 9 | 9 | <title></title> |
| 10 | 10 | </head> |
| ... | ... | @@ -12,6 +12,7 @@ include_once("../../ms_configura.php"); |
| 12 | 12 | <div id="map" style="width: 440px; height: 340px"></div> |
| 13 | 13 | |
| 14 | 14 | <script type="text/javascript" > |
| 15 | + counterClick = 0 | |
| 15 | 16 | var m = document.getElementById("map") |
| 16 | 17 | m.style.width = window.parent.objmapa.w / 2 |
| 17 | 18 | m.style.height = window.parent.objmapa.h / 2 |
| ... | ... | @@ -77,6 +78,7 @@ include_once("../../ms_configura.php"); |
| 77 | 78 | botaoI3geo.prototype = new GControl(); |
| 78 | 79 | botaoI3geo.prototype.initialize = function(map) { |
| 79 | 80 | var container = document.createElement("div"); |
| 81 | + | |
| 80 | 82 | var i3geo = document.createElement("div"); |
| 81 | 83 | this.setButtonStyle_(i3geo); |
| 82 | 84 | container.appendChild(i3geo); |
| ... | ... | @@ -84,11 +86,19 @@ include_once("../../ms_configura.php"); |
| 84 | 86 | GEvent.addDomListener(i3geo, "click", function() { |
| 85 | 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 | 97 | map.getContainer().appendChild(container); |
| 88 | 98 | return container; |
| 89 | 99 | } |
| 90 | 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 | 103 | botaoI3geo.prototype.setButtonStyle_ = function(button) { |
| 94 | 104 | button.style.textDecoration = "none"; |
| ... | ... | @@ -180,6 +190,133 @@ include_once("../../ms_configura.php"); |
| 180 | 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 | 320 | ondegoogle(map); |
| 184 | 321 | </script> |
| 185 | 322 | </body> | ... | ... |
ferramentas/inserexy2/index.js
| ... | ... | @@ -152,9 +152,6 @@ function criatemaeditavel() |
| 152 | 152 | var cp = new cpaint(); |
| 153 | 153 | cp.set_response_type("JSON"); |
| 154 | 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 | 155 | var p = g_locaplic+"/classesphp/mapa_controle.php?g_sid="+g_sid; |
| 159 | 156 | cp.call(p,"criaSHPvazio",ativanovotema,"&funcao=criashpvazio"); |
| 160 | 157 | } | ... | ... |