Commit 08703c44a500e17cf9191cbc4be4386c4eb32d9d
1 parent
a8d80b38
Exists in
master
and in
7 other branches
-
Showing
3 changed files
with
27 additions
and
32 deletions
Show diff stats
classesjs/classe_eventos.js
... | ... | @@ -529,16 +529,6 @@ i3GEO.eventos = |
529 | 529 | docMapa.onmouseup = function(exy) { |
530 | 530 | i3GEO.eventos.mouseupMapa(exy); |
531 | 531 | }; |
532 | - docMapa.ontouchend = function(exy) { | |
533 | - if(i3GEO.Interface.ATUAL === "googlemaps"){ | |
534 | - if (i3GEO.eventos.cliquePerm.status === true) { | |
535 | - //exy = exy.latLng; | |
536 | - alert(exy) | |
537 | - i3GEO.eventos.mouseupMapa(exy); | |
538 | - } | |
539 | - i3GEO.eventos.cliquePerm.status = true; | |
540 | - } | |
541 | - }; | |
542 | 532 | docMapa.ontouchmove = function(exy) { |
543 | 533 | i3GEO.eventos.cliquePerm.status = false; |
544 | 534 | }; | ... | ... |
classesjs/classe_interface.js
... | ... | @@ -2826,6 +2826,9 @@ i3GEO.Interface = { |
2826 | 2826 | } |
2827 | 2827 | }, |
2828 | 2828 | registraEventos : function() { |
2829 | + //essa variavel guarda a posicao do mapa na tela | |
2830 | + //e usada em vercoes com dispositivo touche para melhorar a performance | |
2831 | + i3GEOtouchesPosMapa = ""; | |
2829 | 2832 | var modoAtual = ""; |
2830 | 2833 | google.maps.event.addListener( |
2831 | 2834 | i3GeoMap, |
... | ... | @@ -2894,7 +2897,10 @@ i3GEO.Interface = { |
2894 | 2897 | i3GeoMap, |
2895 | 2898 | "mousemove", |
2896 | 2899 | function(ponto) { |
2897 | - var teladms, tela, pos = i3GEO.util.pegaPosicaoObjeto($i(i3GEO.Interface.IDMAPA)); | |
2900 | + if(i3GEOtouchesPosMapa === ""){ | |
2901 | + i3GEOtouchesPosMapa = i3GEO.util.pegaPosicaoObjeto($i(i3GEO.Interface.IDMAPA)); | |
2902 | + } | |
2903 | + var teladms, tela, pos = i3GEOtouchesPosMapa; | |
2898 | 2904 | if (modoAtual === "move") { |
2899 | 2905 | return; |
2900 | 2906 | } |
... | ... | @@ -2918,6 +2924,26 @@ i3GEO.Interface = { |
2918 | 2924 | }; |
2919 | 2925 | } |
2920 | 2926 | ); |
2927 | + //se touch | |
2928 | + $i(i3GEO.Interface.IDMAPA).ontouchend = function(e) { | |
2929 | + var pos, p, lonlat; | |
2930 | + if (i3GEO.eventos.cliquePerm.status === true) { | |
2931 | + //recalcula a posicao do clique | |
2932 | + if(e.changedTouches){ | |
2933 | + if(i3GEOtouchesPosMapa === ""){ | |
2934 | + i3GEOtouchesPosMapa = i3GEO.util.pegaPosicaoObjeto($i(i3GEO.Interface.IDMAPA)); | |
2935 | + } | |
2936 | + pos = i3GEOtouchesPosMapa; | |
2937 | + p = new google.maps.Point(e.changedTouches[0].clientX - pos[0],e.changedTouches[0].clientY - pos[1]); | |
2938 | + e = null; | |
2939 | + } | |
2940 | + lonlat = i3GeoMapOverlay.getProjection().fromContainerPixelToLatLng(p); | |
2941 | + objposicaocursor.ddx = lonlat.lng(); | |
2942 | + objposicaocursor.ddy = lonlat.lat(); | |
2943 | + i3GEO.eventos.mouseupMapa(); | |
2944 | + } | |
2945 | + i3GEO.eventos.cliquePerm.status = true; | |
2946 | + }; | |
2921 | 2947 | }, |
2922 | 2948 | retornaIndiceLayer : function(nomeLayer) { |
2923 | 2949 | var i = false; | ... | ... |
classesjs/classe_mapa.js
... | ... | @@ -1501,27 +1501,6 @@ i3GEO.mapa = |
1501 | 1501 | var ntemas, etiquetas, j, retorna, targ = "", |
1502 | 1502 | x = objposicaocursor.ddx, y = objposicaocursor.ddy; |
1503 | 1503 | |
1504 | - if (!e) { | |
1505 | - e = window.event; | |
1506 | - } | |
1507 | - /* | |
1508 | - try { | |
1509 | - if (e.target) { | |
1510 | - targ = e.target; | |
1511 | - } else { | |
1512 | - if (e.srcElement) { | |
1513 | - targ = e.srcElement; | |
1514 | - } | |
1515 | - } | |
1516 | - if (targ.parentNode) { | |
1517 | - container = targ.parentNode.id; | |
1518 | - } | |
1519 | - | |
1520 | - } catch (erro) { | |
1521 | - targ = null; | |
1522 | - } | |
1523 | - */ | |
1524 | - | |
1525 | 1504 | ntemas = i3GEO.arvoreDeCamadas.CAMADAS.length; |
1526 | 1505 | etiquetas = false; |
1527 | 1506 | for (j = 0; j < ntemas; j += 1) { | ... | ... |