Para Desenvolvedores

Pegar informação da localização (cidade e ou estado) do usuário.

É possível pegar a informação da localização do usuário no Lumis? Tenho a necessidade de enviar o usuário para uma determinada página dependendo de onde ele está fazendo o acesso. Por exemplo, se estou acessando do Piauí envio para uma página e se estou acessando do Rio Grande do Norte envio para outra. Se possível via javascript, é melhor ainda.

Obrigado.

Por Gustavo Vinocur

Em 04/09/20 15:33

Acompanhar pergunta

2 resposta(s):

Ordenar por:

Gustavo,

Estou é possível conseguir a localização do usuário utilizado o código abaixo:

        // jeito 1
		IMonitorField geoLocationField = ManagerFactory.getMonitorManager().getField(MonitorFields.Client.GEOLOCATION);
		ExtendedGeoPoint geoPoint = null;
		
		List<IMonitorValuesProvider> monitoringValuesProviders = ManagerFactory.getMonitorManager().getMonitorContext().getMonitoringValuesProviders();
		
		for (IMonitorValuesProvider iMonitorValuesProvider : monitoringValuesProviders)
		{
			if (iMonitorValuesProvider instanceof GeoLocationValuesProvider)
			{
				List<? extends Serializable> values = ((GeoLocationValuesProvider) iMonitorValuesProvider).getValues(sessionConfig, geoLocationField, transaction);
				
				if (values != null && !values.isEmpty())
				{
					geoPoint = (ExtendedGeoPoint) values.get(0);
				}
			}
		}
		

        // jeito 2
		if (geoPoint == null)
		{
			geoPoint = ManagerFactoryInternal.getGeoLocationManager().getGeoPointByRequest(request);
		}

Jeito 1: o Lumis já buscar a geolocation nas requisições do usuário. Assim, pode já estar calculada ali dentro do contexto de monitoração.

 

Jeito 2: caso a monitoração da geolocalicação estiver desligada - pode depender da versão do Lumis - utilize este jeito.

 

Por Luiz Carlos Valenca

Em 04/09/20 15:59

Gustavo,

Só queria salientar que ambos os métodos que o Valença sugeriu usam APIs internas e não estáveis, que podem ser alteradas sem aviso prévio e sem substituição.

Atenciosamente.

Por Thiago Berne

Em 04/09/20 17:02

Entrar

Interaja com a comunidade e tenha acesso a conteúdos exclusivos.

Houve algum erro ao acessar o banco de dados. Tente novamente mais tarde.