-1
원본과 대상 사이의 경로를 표시하고이 경로에서 아이콘을 이동하려고 시도하는 중입니다.google maps api
소스 및 대상에서 아이콘을 이동할 수 있었지만 아이콘이 움직이는 경우에만 경로가 표시됩니다.
전체 경로가 시작 부분에 표시되기를 원합니다.
<!DOCTYPE html>
<html>
<head>
\t <title>Animated route</title>
\t <meta name="viewport" content="initial-scale=1.0, user-scalable=no">
\t <meta charset="utf-8">
\t <style>
\t \t html, body, #map {
\t \t \t height: 100%;
\t \t \t margin: 0px;
\t \t \t padding: 0px
\t \t }
\t </style>
\t <script src="https://maps.googleapis.com/maps/api/js?v=3.exp&libraries=geometry"></script>
\t <script>
\t \t function initialize() {
\t \t \t var map = new google.maps.Map(document.getElementById("map"), {
\t \t \t center: {lat: 17.416483, lng: 78.513592},
\t \t \t zoom: 13,
\t \t \t mapTypeId: google.maps.MapTypeId.ROADMAP
\t \t \t });
\t \t \t
\t \t \t getDirections(map);
\t \t }
\t \t function moveMarker(map, marker, latlng) {
\t \t \t marker.setPosition(latlng);
\t \t \t map.panTo(latlng);
\t \t }
\t \t function autoRefresh(map, pathCoords) {
\t \t \t var i, route, marker;
\t \t \t
\t \t \t route = new google.maps.Polyline({
\t \t \t \t path: [],
\t \t \t \t geodesic : true,
\t \t \t \t strokeColor: 'blue',
\t \t \t \t strokeOpacity: 1.0,
\t \t \t \t strokeWeight: 2,
\t \t \t \t editable: false,
\t \t \t \t map:map
\t \t \t });
\t \t \t
\t \t \t marker=new google.maps.Marker({map:map, icon:"truck.png"});
\t \t \t for (i = 0; i < pathCoords.length; i++) { \t \t \t \t
\t \t \t \t setTimeout(function(coords) {
\t \t \t \t \t route.getPath().push(coords);
\t \t \t \t \t moveMarker(map, marker, coords);
\t \t \t \t }, 2000 * i, pathCoords[i]);
\t \t \t }
\t \t }
\t \t
\t \t function getDirections(map) {
\t \t \t var directionsService = new google.maps.DirectionsService();
\t \t \t
\t \t \t var start = new google.maps.LatLng(17.416483, 78.513592);
\t \t \t var end = new google.maps.LatLng(17.424643, 78.645126);
var marker = new google.maps.Marker({
position: end,
map: map,
});
var marker = new google.maps.Marker({
position: start ,
map: map,
icon:"http://maps.google.com/mapfiles/ms/icons/green-dot.png"
});
\t \t \t var request = {
\t \t \t \t origin:start,
\t \t \t \t destination:end,
\t \t \t \t travelMode: google.maps.TravelMode.DRIVING
\t \t \t };
\t \t \t directionsService.route(request, function(result, status) {
\t \t \t \t if (status == google.maps.DirectionsStatus.OK) {
\t \t \t \t \t autoRefresh(map, result.routes[0].overview_path);
\t \t \t \t }
\t \t \t });
\t \t }
\t \t google.maps.event.addDomListener(window, 'load', initialize);
\t </script>
</head>
<body>
\t <div id="map"></div>
</body>
</html>
[예] (HTTP와 같은 뭔가 : // www.geocodezip.com/v3_animate_marker_directions.html)? – geocodezip
@geocodezip .... 네, 정확히하지만 제가 보여준 코드의 전체 코드를 복사하고 싶지는 않습니다. 경로를 표시하는 데 사용되는 코드 블록 만 알려주시겠습니까? –