Estoy usando Google Maps API V3 y estoy tratando de hacer un movimiento de marcador a través de la pantalla. Aquí es lo que tengo:Cómo mover un marcador en Google Maps API
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<style type="text/css">
html { height: 100% }
body { height: 100%; margin: 0; padding: 0 }
#map_canvas { height: 100% }
</style>
<script type="text/javascript"
src="http://maps.googleapis.com/maps/api/js?sensor=false">
</script>
<script type="text/javascript">
function initialize() {
var myLatLng = new google.maps.LatLng(50,50);
var myOptions = {
zoom: 4,
center: myLatLng,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
image = 'bus.gif';
marker = new google.maps.Marker({position: myLatLng, map: map, icon: image});
marker.setMap(map);
}
function moveBus()
{
// Move Bus
}
</script>
</head>
<body onload="initialize()">
<script type="text/javascript">
moveBus();
</script>
<div id="map_canvas" style="height: 500px; width: 500px;"></div>
</body>
</html>
Ahora lo que he tratado es la sustitución // Mover autobús con
marker.setPosition(new google.maps.LatLng(0,0));
Pero eso no hice nada. Ese es el comando que vi en la referencia de la API. También soy relativamente nuevo en Javascript, por lo que podría ser un error JS de mi parte.
Esto podría ser una pregunta tonta, pero ¿por qué se llama moveBus() antes de initialize() en mi código? ¿El script de carga no sucede antes de nada en el cuerpo? – gsingh2011
Su llamada a moveBus() no está en un bloque de carga, solo un bloque de script en el cuerpo. Se analiza en cuanto se lee. Podría hacer algo como: window.onload = function() {moveBus(); }; – ThinkingStiff
¿Puede ayudarme con cómo puedo hacer esto sin agregar un nuevo mapa sino mover el marcador a uno existente? – Alexandros