Как анимировать пользовательский маркер Google Maps вдоль маршрута?

Примерно так:

Dim wb as Workbook, sht as worksheet, pth

Set sht = ActiveSheet
pth = "='[" & sht.parent.name & "]" & sht.Name & "'!"



'ChDir "\\FS3\Users$\UsersName\Desktop" 'not needed here...
set wb = Workbooks.Open("\\FS3\Users$\UsersName\Desktop\Costing Template Test.xlsx")

With wb.Sheets("Open Quote")

    .Range("B3").FormulaR1C1 = pth & "R6C2"

    'etc etc

End with
21
задан Kara 29 December 2013 в 20:36
поделиться

3 ответа

К сожалению, в официальном наборе GMaps нет никакой функции автоматического перемещения маркера.

Однако, если бы у Вас есть GRoute, который означал бы, у Вас есть ряд точек. Для цикличного выполнения через шаги маршрута Вы могли использовать что-то вроде этого:

for (var c = 0; c < yourroute.getNumSteps(); c++) { 
    yourmarker.setLatLng(yourroute.getStep(c).getLatLng());
}

, Конечно, Вы, вероятно, захотите сделать это асинхронно использование таймеров:

function moveToStep(yourmarker,yourroute,c) {
    if {yourroute.getNumSteps() > c) {
        yourmarker.setLatLng(yourroute.getStep(c).getLatLng());
        window.setTimeout(function(){
            moveToStep(yourmarker,yourroute,c+1);
        },500);
    }
}

moveToStep(marker,route,0);

Для еще более гладкого перемещения, Вы могли интерполировать точки от тех, которых Вы уже имеете.

9
ответ дан 17 October 2019 в 01:13
поделиться

Это не перемещает что-то автоматически, но необходимо проверить эксперимент Google Drive phatfusion. Рассмотрение кода могло бы выручить Вас.

0
ответ дан 17 October 2019 в 01:13
поделиться

Хороший пример здесь:

http://www.kmcgraphics.com/google/

17
ответ дан 17 October 2019 в 01:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: