Używam Google Maps API V3 i próbuję zrobić ruch znacznika na ekranie. Oto co mam:Jak przenieść znacznik w 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>
Teraz co Próbowałem zastępuje // Przenieś Bus z
marker.setPosition(new google.maps.LatLng(0,0));
Ale to nic nie robić. To jest polecenie, które widziałem w referencji API. Jestem też względnie nowy w JavaScript, więc może to być błąd JS z mojej strony.
To może być głupie pytanie, ale dlaczego wywołanie funkcji moveBus() przed zainicjalizowaniem() w moim kodzie? Czy skrypt onload nie występuje przed wszystkim w ciele? – gsingh2011
Twoje wywołanie moveBus() nie znajduje się w bloku onload, tylko blok skryptu w ciele. Zostanie sparsowany, gdy tylko zostanie odczytany. Możesz zrobić coś takiego: window.onload = function() {moveBus(); }; – ThinkingStiff
Czy możesz mi pomóc, jak mogę to zrobić bez dodawania nowej mapy, ale przenieść znacznik do istniejącego? – Alexandros