Commit 08703c44a500e17cf9191cbc4be4386c4eb32d9d

Authored by Edmar Moretti
1 parent a8d80b38

-

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) {
... ...