2010-02-01 4 views
0

Я разрабатываю приложение, в котором мне нужно отобразить сообщение, показывающее, куда обращаться, когда пользователь нажимает на позицию по маршруту, выделенному с помощью указаний на карте Google.Как показать «Повернуть налево» «Повернуть направо» на маршруте, выделенном между двумя местами на карте Google?

Существует этот класс Groute, который обеспечивает большую часть информации, например, расстояние, продолжительность между двумя местами, но не дает информации о направлении.

ответ

2

Из GRoute вы можете использовать .getStep (i), чтобы получить объект GStep для каждого шага в GRoute. .getNumSteps() сообщает вам, сколько GSteps находится в GRoute.

Для каждого GStep вы можете вызвать .getDescriptionHtml(), который вернет отформатированное описание для этого отдельного шага. Как "Возьмите первый право на A5099/Coronation St" или "На перекрестке с круговым движением сверните третьего на A6/Garstang Rd заголовок Preston".

Чтобы связать GStep с определенной вершиной полилинии, просмотрите все объекты GStep, которые ищут последний, с getPolylineIndex(), который меньше или равен указанной вершине. Как это:

 var v = 66; // The vertex you are looking for 

     var targetStep = route.getStep(0); 
     for (var j=0; j<route.getNumSteps(); j++) { 
     var step = route.getStep(j); 
     if (step.getPolylineIndex() < v) targetStep = step; 
     } 
     GLog.writeHtml(targetStep.getDescriptionHtml()); 

Не пытайтесь разобрать .getDescriptionHtml(), так как детали изменения структуры время от времени и варьируются в зависимости от страны, маршрута и языка хоста или языка.

+0

Thanx Mike Williams .. Именно то, что я искал! – neha

+0

Майк Уильямс, я попытался реализовать все шаги, которые вы указали. Но я застрял на этапе связывания GStep с определенной вершиной полилинии. Я не понимаю смысл «сканировать все GSteps, которые ищут последний, с getPolylineIndex(), который меньше или равен указанной вершине». Не могли бы вы мне помочь? – neha

+0

Я отредактировал образец кода в ответе, потому что я не знаю, можно ли форматировать текст внутри комментария. –