Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...





Bloco de código
languagejavascript
function getLocationUpdategetLocation(){
	if(navigator.geolocation)
    {
      // timeout atif 60000 milliseconds (60 seconds(navigator.geolocation)
      var options = {timeout:60000};
      geoLoc = navigator.geolocation.getCurrentPosition(showPosition,showError);
		
      watchID = geoLoc.watchPosition(showLocation,  }
    }

    function showPosition(position)
    {
                        errorHandler,
var latlon=position.coords.latitude+","+position.coords.longitude;


        var img_url="http://maps.googleapis.com/maps/api/staticmap?center="
           +latlon+"&zoom=14&size=300x200&sensor=false";
                 options);
	}else{
		alert("Sorry, esse dispositivo não suporta geolocalização!");
	}
}
 
function showLocation(position) {
  var lat = position.coords.latitude;
  document.getElementById("map").innerHTML="<img src='"+img_url+"'>";
		
		var lat = position.coords.latitude;
		var longi = position.coords.longitude;
  		document.getElementById("latitude").value = lat;
  		document.getElementById("longitude").value = longi;
    }

    function errorHandlershowError(errerror)
    {
  if(err.code == 1     switch(error.code) {
    alert("Erro: Acesso negado!");
  }else if( err.code == 2) {
    alert("Error: Posição está indisponível!");
  }
}
Para baixar um exemplo de formulário com geolocalização clique aqui
Informações

Veja o exemplo (form-mobile-waze) em nosso repositório aqui.

Nota
titleImportante
Esta técnica só funciona em ambiente HTTPS a partir do Android 6.0 e iOS 10.

Formulário único

A partir da atualização 1.5 do fluig os formulários da web e do mobile devem ser criados de forma única. Sendo assim, o formulário deve atender tanto o mobile quanto a web.

Para criar formulários com este novo padrão verifique o fluig Style Guide.

Anexos de formulário

...

    {
        case error.PERMISSION_DENIED:
          doc.innerHTML="Pedido de Geolocalização negado pelo usuário."
          break;
        case error.POSITION_UNAVAILABLE:
          doc.innerHTML="Informações de localização não está disponível."
          break;
        case error.TIMEOUT:
          doc.innerHTML="Solicitação de locatização não retornou em tempo hábil (timeout)."
          break;
        case error.UNKNOWN_ERROR:
          doc.innerHTML="Erro desconhecido."
          break;
        }
    }




Para baixar um exemplo de formulário com geolocalização clique aqui


Informações

Veja o exemplo (form-mobile-waze) em nosso repositório aqui.

Nota
titleImportante

...

Nota
titleImportante
No sistema operacional Android não é recomendado carregar anexos do formulário via requisições como XMLHttpRequest. O carregamento do conteúdo de arquivos via caminhos relativos já é suficiente.

Guia de estilos off-line

Agora é possível utilizar o guia de estilos em modo off-line sem a necessidade de qualquer conexão a internet, ficou bem mais fácil e independente personalizar seu formulário para processo off-line. Uma vez ao dia o fluig Mobile ira verificar novas atualizações, caso alguma atualização esteja disponível, o download da mesma será feita automaticamente de forma rápida e transparente, sem precisar se atentar a formas manuais e demoradas para atualização. O guia de estilos off-line está disponível tanto para Android como para IOS. 

Versões mínimas dos browsers suportados

...

Esta técnica só funciona em ambiente HTTPS a partir do Android 6.0 e iOS 10.


Formulário único

A partir da atualização 1.5 do fluig os formulários da web e do mobile devem ser criados de forma única. Sendo assim, o formulário deve atender tanto o mobile quanto a web.

Para criar formulários com este novo padrão verifique o fluig Style Guide.

Anexos de formulário

  1. Download de anexos: este procedimento será automático, porém apenas os anexos do formulário são baixados.  
  2. Download de anexos em processos offline: durante o download dos processos offline os anexos do formulário são baixados e estarão disponíveis para utilização de maneira offline.


Nota
titleImportante
Para o funcionamento de anexos do formulário, o caminho dos arquivos devem ser relativos e não podem ser externos.
Nota
titleImportante
No sistema operacional Android não é recomendado carregar anexos do formulário via requisições como XMLHttpRequest. O carregamento do conteúdo de arquivos via caminhos relativos já é suficiente.

Guia de estilos off-line

Agora é possível utilizar o guia de estilos em modo off-line sem a necessidade de qualquer conexão a internet, ficou bem mais fácil e independente personalizar seu formulário para processo off-line. Uma vez ao dia o fluig Mobile ira verificar novas atualizações, caso alguma atualização esteja disponível, o download da mesma será feita automaticamente de forma rápida e transparente, sem precisar se atentar a formas manuais e demoradas para atualização. O guia de estilos off-line está disponível tanto para Android como para IOS. 


Versões mínimas dos browsers suportados

Cada uma das plataformas utiliza um browser diferente para a renderização dos formulários. Esta informação deve ser considerada durante o desenvolvimento para evitar problemas de compatibilidade com os arquivos JavaScript/CSS. Acesse a Matriz de Portabilidade e veja a versão mínima dos browsers de cada plataforma que deve ser considerada durante o desenvolvimento.


function getLocation()
{
if (navigator.geolocation)
{
navigator.geolocation.getCurrentPosition(showPosition,showError);

}
}

function showPosition(position)
{
var latlon=position.coords.latitude+","+position.coords.longitude;


var img_url="http://maps.googleapis.com/maps/api/staticmap?center="
+latlon+"&zoom=14&size=300x200&sensor=false";
document.getElementById("map").innerHTML="<img src='"+img_url+"'>";

var lat = position.coords.latitude;
var longi = position.coords.longitude;
document.getElementById("latitude").value = lat;
document.getElementById("longitude").value = longi;
}

function showError(error)
{
switch(error.code)
{
case error.PERMISSION_DENIED:
doc.innerHTML="Pedido de Geolocalização negado pelo usuário."
break;
case error.POSITION_UNAVAILABLE:
doc.innerHTML="Informações de localização não está disponível."
break;
case error.TIMEOUT:
doc.innerHTML="Solicitação de locatização não retornou em tempo hábil (timeout)."
break;
case error.UNKNOWN_ERROR:
doc.innerHTML="Erro desconhecido."
break;
}
}

function getLocation()
{
if (navigator.geolocation)
{
navigator.geolocation.getCurrentPosition(showPosition,showError);

}
}

function showPosition(position)
{
var latlon=position.coords.latitude+","+position.coords.longitude;


var img_url="http://maps.googleapis.com/maps/api/staticmap?center="
+latlon+"&zoom=14&size=300x200&sensor=false";
document.getElementById("map").innerHTML="<img src='"+img_url+"'>";

var lat = position.coords.latitude;
var longi = position.coords.longitude;
document.getElementById("latitude").value = lat;
document.getElementById("longitude").value = longi;
}

function showError(error)
{
switch(error.code)
{
case error.PERMISSION_DENIED:
doc.innerHTML="Pedido de Geolocalização negado pelo usuário."
break;
case error.POSITION_UNAVAILABLE:
doc.innerHTML="Informações de localização não está disponível."
break;
case error.TIMEOUT:
doc.innerHTML="Solicitação de locatização não retornou em tempo hábil (timeout)."
break;
case error.UNKNOWN_ERROR:
doc.innerHTML="Erro desconhecido."
break;
}
}

function getLocation()
{
if (navigator.geolocation)
{
navigator.geolocation.getCurrentPosition(showPosition,showError);

}
}

function showPosition(position)
{
var latlon=position.coords.latitude+","+position.coords.longitude;


var img_url="http://maps.googleapis.com/maps/api/staticmap?center="
+latlon+"&zoom=14&size=300x200&sensor=false";
document.getElementById("map").innerHTML="<img src='"+img_url+"'>";

var lat = position.coords.latitude;
var longi = position.coords.longitude;
document.getElementById("latitude").value = lat;
document.getElementById("longitude").value = longi;
}

function showError(error)
{
switch(error.code)
{
case error.PERMISSION_DENIED:
doc.innerHTML="Pedido de Geolocalização negado pelo usuário."
break;
case error.POSITION_UNAVAILABLE:
doc.innerHTML="Informações de localização não está disponível."
break;
case error.TIMEOUT:
doc.innerHTML="Solicitação de locatização não retornou em tempo hábil (timeout)."
break;
case error.UNKNOWN_ERROR:
doc.innerHTML="Erro desconhecido."
break;
}
}