Comunidad de diseño web y desarrollo en internet online

Activar WebApps si estoy en determinadas coordenadas.

Citar            
MensajeEscrito el 07 Mar 2012 06:26 am
Buen día.

estoy realizando una webApps que se activara si se encuentra dentro de un radio de coordenadas ya establecidas.

por ejemplo.

si el usuario se encuentra dentro de un radio de 1000 metros de las siguientes cordenadas EJem: Lat 15.475467, Lon 15.475457...

si se encuentra activar X funcion.


necesito de sus ayudas Gracias.

Por laaz13

19 de clabLevel



 

honduras

chrome
Citar            
MensajeEscrito el 07 Mar 2012 04:07 pm
¿Ayuda en qué?, no has hecho ninguna pregunta.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 08 Mar 2012 07:54 am
jajaja perdon.

como detectar que el usuario se encuentra a tantos metros de unas coordenadas y poder activar una función?.


Gracias!

Por laaz13

19 de clabLevel



 

honduras

chrome
Citar            
MensajeEscrito el 08 Mar 2012 08:23 am
he leido que con google Maps podemos medir la distancia entre 2 puntos.

una solución que se me viene, es de obtener las coordenadas actuales, y guardar las coordenadas de otro punto especifico en unas variables.
y preguntar si la distancia es menor o igual a 100 metros hacer X funcion y si la distancia es mayor hacer función B...

pero no se como calcular la distancia de estos puntos, lo demás pues creo que no es tan complicado.

Gracias!

Por laaz13

19 de clabLevel



 

honduras

chrome
Citar            
MensajeEscrito el 08 Mar 2012 10:05 am
encontré la solución :D

la pondré por si alguien mas la busca en un futuro.

dentro del <HEAD>

<script src="http://maps.google.com/maps/api/js?sensor=false"></script>

luego guardo las coordenadas asi:

var origen = new google.maps.LatLng(15.80, -87.16);

var destino = new google.maps.LatLng(15.497, -88.036);

Iniciamos el mapa:

function initialize() {
var opts = {
center: new google.maps.LatLng(55.53, 9.4),
zoom: 10,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById('map'), opts);
geocoder = new google.maps.Geocoder();


}


function calculateDistances() {
var service = new google.maps.DistanceMatrixService();
service.getDistanceMatrix(
{
origins: [origen],
destinations: [destino],
travelMode: google.maps.TravelMode.DRIVING,
unitSystem: google.maps.UnitSystem.METRIC,
avoidHighways: false,
avoidTolls: false
}, callback);
}


agregamos el CallBack.

function callback(response, status) {
if (status == google.maps.DistanceMatrixStatus.OK) {
var origins = response.originAddresses;
var destinations = response.destinationAddresses;

for (var i = 0; i < origins.length; i++) {
var results = response.rows[i].elements;
for (var j = 0; j < results.length; j++) {
var element = results[j];
var distance = element.distance.text;
var distancias = element.distance.value;
var duration = element.duration.text;
var from = origins[i];
var to = destinations[j];
}
}

}
// Condiciones demo
if(distance < 11000){

alert("Bienvenido");

} else {
alert("estas lejos");

}


}


ya luego hacen los cambios de obtener las coordenadas actual y las guardan como destino o origen, en mi caso las guardare como origen.



Saludos!

Por laaz13

19 de clabLevel



 

honduras

chrome
Citar            
MensajeEscrito el 30 Abr 2012 11:30 am
Hola laaz13, andaba buscando una funcion como esta, pero no la entiendo muy bien. Tienes algun ejemplo desarrollado?. Te comento lo que quiero hacer. Cuando alguien se acerque a unas corrdenadas en un mapa de google maps que salte un mensaje de si quiere recibir alguna información sobre el lugar donde se encuentra. Por ejemplo si se acerca al parque del retiro en madrid ( en un radio de 50 mts mas o menos) le salga la informacion sobre el parque, fotos, etc..

Como no entiendo bien tu ejemplo no puedo aplicarlo a lo que yo necesito.

Prodiras ayudarme?.

Gracias. Salu2

Por gromarx

0 de clabLevel



 

firefox
Citar            
MensajeEscrito el 20 May 2012 03:31 am
Hola.

esta solución la andaba buscando para una aplicación Movil.

Si tenes la aplicación en un segundo plano, puede enviarte notificaciones.

o la otra con el simple hecho de abrir la aplicación en el celular reconozca las coordenadas, y envíe una notificación Push.

con google.maps.DistanceMatrixService(); puedes medir la distancia entre el punto actual al punto al que quieres llegar.

recuerda que si quieres un radios de 50mts tienes que declarar que exista una distancia entre el punto actual y el destino 25mts


function calculateDistances() {
var service = new google.maps.DistanceMatrixService();
service.getDistanceMatrix(
{
origins: [origen], // las cordenadas actuales que las guarde en una Variable origen
destinations: [destino], // el punto al cual queremos llegar cordenadas del parque
travelMode: google.maps.TravelMode.DRIVING, // tipo del mapa
unitSystem: google.maps.UnitSystem.METRIC, // formato para medir (Metros)
avoidHighways: false,
avoidTolls: false
}, callback);
}

ya luego se hace una nueva function, donde asignamos los metros obtenidos a una variable ejemplo:

var results = response.rows[i].elements; // obtenemos todos los resultados, como nombre del lugar, metros de distancia, tiempo en llegar etc...

var distancias = results.distance.value; // aqui obtenemos el valor en metros. en este caso solo es Uno, en el código ingrese un "For" porque eran varios destinos.


ya luego con el valor de los metros solo hacemos una dondicion If :

If(distancias < 25 ){
//mostrar push
} else{...}



Saludos y espero haber explicado bien :)

Por laaz13

19 de clabLevel



 

honduras

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.