<html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>谷歌轨迹</title> <script src="Scripts/jquery-1.8.3.min.js"></script> <script type="text/javascript" src="http://ditu.google.cn/maps/api/js?sensor=true&language=cn&libraries=weather,places "></script> <script type="text/javascript"> $(function(){ //地图对象 var map = ""; //经纬度数据集合 var lists = [{ lon:112.856175924414, lat:22.2118355116 }, { lon:112.856010115522, lat:22.211950698 }, { lon:112.856112997028, lat:22.211877583 }, { lon:112.856374689576, lat:22.2118142414 }, { lon:112.857356497151, lat:22.212385636 }, { lon:112.857619172159, lat:22.2126681546 }, { lon:112.858025644973, lat:22.2136272008 }, { lon:112.85837321685, lat:22.213975574 }, { lon:112.858243377764, lat:22.2138238168 }, { lon:112.858105547247, lat:22.2136920628 }, { lon:112.856534535205, lat:22.2110873082 }, { lon:112.855521787459, lat:22.210086129 }, { lon:112.85497642939, lat:22.2102098442 }]; //初始化地图 var latlng = new google.maps.LatLng(lists[0].lat, lists[0].lon); var mapOptions = { center: latlng, zoom: 16, mapTypeId: google.maps.MapTypeId.ROADMAP }; map = new google.maps.Map(document.getElementById("box_map"), mapOptions); //标注开始点 new google.maps.Marker({ position: latlng, map: map, icon: "../images/icon_marka.png" }); //轨迹集合格式 //var latlngArr = [new google.maps.LatLng(22.2118355116, 112.856175924414), new google.maps.LatLng(22.211950698, 112.856010115522)...] //数据集合变轨迹集合 var latlngArr = [] for (var i = 0; i < lists.length; i++) { latlngArr[i] = new google.maps.LatLng(lists[i].lat, lists[i].lon); } //在地图上画出轨迹 var flightPath = new google.maps.Polyline({ path: latlngArr, strokeColor: "#FF0000", strokeOpacity: 1.0, strokeWeight: 3 }); flightPath.setMap(map); //动态标注位置在地图上移动 var index = 0, marker = ""; timer = window.setInterval(function () { //从新设置中心点 //map.panTo(latlngArr[index]) if (!marker) { marker = new google.maps.Marker({ position: latlngArr[index++], map: map }); }else { if (index < latlngArr.length) { marker.setPosition(latlngArr[index++]); } else { index = 0; window.clearInterval(timer); } } }, 300); }) </script> </head> <body> <div id="box_map" style="width: 1000px; height: 800px"></div> </body> </html>