Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Duda google maps!

Estas en el tema de Duda google maps! en el foro de Frameworks JS en Foros del Web. Que tal, como le puedo hacer para que en un mapa de google maps solo se actualize el marker, es decir para crear la apariencia ...
  #1 (permalink)  
Antiguo 04/04/2014, 20:59
 
Fecha de Ingreso: marzo-2014
Mensajes: 66
Antigüedad: 10 años, 9 meses
Puntos: 0
Duda google maps!

Que tal, como le puedo hacer para que en un mapa de google maps solo se actualize el marker, es decir para crear la apariencia de movimiento de uno, tengo los datos del recorrio en una base de datos pero solo eh podido hacerlo con un refresh de toda la pagina, hay alguna forma de hacerlo? asi como si fuera real el movimiento ??/
.
gracias!
  #2 (permalink)  
Antiguo 05/04/2014, 21:46
Avatar de djaevi  
Fecha de Ingreso: marzo-2007
Ubicación: Moreno, Buenos Aires
Mensajes: 400
Antigüedad: 17 años, 9 meses
Puntos: 47
Respuesta: Duda google maps!

Podes usar ajax. Si la informacion de la latitud y longitud del marker se modifica dinamicamente en tu base de datos podes hacer llamadas periodicas con setInterval o investigar sobre el objeto comet del lado servidor. Luego simplemente cambias la latitud y longitud al marker con javascript.

Saludos
  #3 (permalink)  
Antiguo 06/04/2014, 07:24
 
Fecha de Ingreso: mayo-2011
Ubicación: Zaragoza
Mensajes: 58
Antigüedad: 13 años, 7 meses
Puntos: 5
Respuesta: Duda google maps!

Buenas:

No queda claro si lo que quieres es saber como refescar el marker en el mapa o traer los datos desde algun servidor para luego mostrarlos!!

Si quieres ir trayendo datos de algun servidor pues tendras que mirar ajax como dice djaevi.

Si lo que quieres es saber como refrescar el marker en el maps y que parezca una animacion, pues igual te ha faltado mirar un poco la API por que alli viene todo.

Habiendo colocado una marker en el mapa

Código Javascript:
Ver original
  1. var marker = new google.maps.Marker({
  2.       position: myLatlng,
  3.       map: map,
  4.       title: 'Hello World!'
  5.   });

lo unico que tienes que hacer para cambiar la posicion del mismo es llamar a marker.setPosition(Latlng); con la nueva posicion del mismo.

Espero que sea esto. Saludos.

Edito: he mirado y en la documentacion viene un ejemplo de animacion pero con los simbolos de las polyline, con esto puedes hacer que moviendo el offset del simbolo de una polyline parezca que sigue la linea

link: https://developers.google.com/maps/d...-animate?hl=es

Documentacion de markers: https://developers.google.com/maps/d...e?hl=es#Marker
  #4 (permalink)  
Antiguo 06/04/2014, 11:14
 
Fecha de Ingreso: marzo-2014
Mensajes: 66
Antigüedad: 10 años, 9 meses
Puntos: 0
Respuesta: Duda google maps!

la base de datos se actualiza diamicamente, trae nuevas localizaciones , los datos de latitud y longitud los traigo con una consulta mysql dejo el codigo abajo para explicar como lo tengo, solo que se actualiza la consulta hasta que le doy recargar pagina ya que la consulta esta ahi! aqui en grl el codigo como funciona!:

<HTML> <!--PRUEBAS DE MARCADORES PAGINA TEMPORAL!!-->

<HEAD>


<style>
html, body, #map-canvas {
height: 100%;
margin: 0px;
padding: 0px
}
</style>
<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false"></script>
<script type="text/javascript"> //menu desplegable


}
</script>

<?php



require ("conexion.php");

$sql[1]="SELECT latitud,Longitud,idPosiciones,Date FROM Posiciones WHERE Tracker_idTRACKER = ********** ORDER BY idPosiciones DESC LIMIT 1;";
$datos[1]=mysql_query($sql[1],$con); //UNIDAD 02
$renglon[1]=mysql_fetch_array($datos[1]);


?>


<script>
function initialize() {
var mapOptions = {
zoom: 13,
center: new google.maps.LatLng(19.70277,-101.192696)
}
var map = new google.maps.Map(document.getElementById('map-canvas'),
mapOptions);


setInterval(setMarkers(map, beaches),10); //intente hacerlo asi, supongo que actualiza los markers pero no la consulta para que cambien las latitudes
}


var beaches = [
['<?php echo $renglon[1]['Date']; ?>', <?php echo $renglon[1]['latitud']; ?>, <?php echo $renglon[1]['Longitud']; ?>, 1],
];

function setMarkers(map, locations) {

var image = [];

image[0]='buttons/markers/imor02.png' //iconos de cada marker

var shape = {
coord: [1, 1, 1, 20, 18, 20, 18 , 1],
type: 'poly'
};
for (var i = 0; i < locations.length; i++) {
var beach = locations[i];
var myLatLng = new google.maps.LatLng(beach[1], beach[2]);
var marker = new google.maps.Marker({
position: myLatLng,

map: map,
icon: image[i],
shape: shape,
title: beach[0],
zIndex: beach[3]
});
}
}

google.maps.event.addDomListener(window, 'load', initialize);

</script>





</HEAD>

<BODY TEXT="black" BACKGROUND="img\fondoacceso.png" width="100%">





<TABLE WIDTH="90%" HEIGHT="90%" ALIGN="CENTER"> <!--TERCERA TABLA, MUESTRA DE CONTENIDO VENTANA GRL -->
<TR>
<TD >
<meta content="500" http-equiv="REFRESH">
<div id="map-canvas"></div>

</meta>
</TD>


</TR>
</TABLE>






</BODY>

</HTML>
  #5 (permalink)  
Antiguo 14/04/2014, 11:24
 
Fecha de Ingreso: marzo-2014
Mensajes: 66
Antigüedad: 10 años, 9 meses
Puntos: 0
Respuesta: Duda google maps!

creen que funcione solo recargando la parte de codigo PHP? y tambien la de setMarkers? o es necesario o mejor manejarlo con ajax!!

Etiquetas: google, javascript
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:58.