Ознакомьтесь с http://code.google.com/apis/maps/documentation/flash/reference.html#Route
Объекты этого класса создаются объектом Directions для хранения информации об одном маршруте в результатах маршрутов.
Это позволяет использовать метод getStep. Шаги предоставляют вам расстояние, продолжительность, широту и т. д.
http://code.google.com/apis/maps/documentation/flash/reference.html#Step
Чтобы получить точку (например) на расстоянии 5 миль, вы можете получить две точки, ближайшие к этому расстоянию. Насколько я понимаю, эти точки должны быть на линии прямой видимости (т. е. точка-точка без поворотов), чтобы вы могли экстраполировать правильную точку между ними, используя математику.
Кажется, здесь есть соответствующее обсуждение: http://groups.google.com/group/google-maps-js-api-v3/browse_thread/thread/a475d03a28865614/23ed9e966d10cdd8?pli=1
Вот пример анимации, показывающей пробег, поэтому я был бы удивлен, если бы вы не смогли заставить что-то работать, перебирая точки, пока не найдете нужное значение (источник на этой странице должен помочь вам начать ): http://econym.org.uk/gmap/example_cartrip.htm
Извините, у меня нет более конкретного ответа - я постараюсь написать код для этого, когда у меня будет время.
РЕДАКТИРОВАТЬ: если вы посмотрите на пример car_trip, вы найдете следующее:
// === A method which returns the Vertex number at a given distance along the path ===
// === Returns null if the path is shorter than the specified distance ===
GPolygon.prototype.GetIndexAtDistance = function(metres) {
// some awkward special cases
if (metres == 0) return this.getVertex(0);
if (metres < 0) return null;
var dist=0;
var olddist=0;
for (var i=1; (i < this.getVertexCount() && dist < metres); i++) {
olddist = dist;
dist += this.getVertex(i).distanceFrom(this.getVertex(i-1));
}
if (dist < metres) {return null;}
return i;
}
Это должно позволить вам построить точку по желанию.
person
Aaron Newton
schedule
01.02.2011