我正在尝试非常顺利地将我的标记(图标)从一个位置移动到另一个位置。我非常接近做到这一点。我想在 API v3中做类似这个链接的事情。
现在,我已经从两个位置得到了所有的纬度/经度,但仍然没有平滑的效果。然后我决定在两个纬度/经度之间获取所有纬度/经度,例如我在两个位置之间得到 1000 纬度/经度。现在我想要 lat/long 在第一个 lat/long 到 1000 lat/long 的第二个 lat/long 之间,这给了我更多的 lat/long。这是我的代码。
var map, ren, ser;
var data = {};
var marker;
function goma() {
map = new google.maps.Map(document.getElementById('mappy'), {'zoom':6, 'mapTypeId': google.maps.MapTypeId.ROADMAP, 'center': new google.maps.LatLng(22.05678288577881, 72.30236816615798)});
ren = new google.maps.DirectionsRenderer( {'draggable':true} );
ren.setMap(map);
ser = new google.maps.DirectionsService();
google.maps.event.addListener(ren, 'directions_changed', function(event){
var waypoints = ren.directions.routes[0].legs[0].via_waypoints;
});
ser.route({
'origin': new google.maps.LatLng(22.3000, 70.7800),
'destination': new google.maps.LatLng(23.0333, 72.6167),
'travelMode': google.maps.DirectionsTravelMode.DRIVING},
function(res,sts) {
if(sts=='OK')
ren.setDirections(res);
})
}
function run(i,j) {
if(i!=0 || j!=0) {
marker.setMap(null);
}
if(i<=ren.directions.routes[0].legs[0].steps.length) {
if(j==ren.directions.routes[0].legs[0].steps[i].path.length) {
j=0;
i++;
} else {
j++;
}
}
marker = new google.maps.Marker({
position: ren.directions.routes[0].legs[0].steps[i].path[j],
map: map
});
marker.setMap(map);
setTimeout(function() {run(i,j);}, 2000);
}
它有效,但不是我想要的。我只想要平滑的效果,也想找到我经过的距离和速度。谢谢你。