Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.12.2020, 16:24   #1
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,194
Вопрос Как применить код JavaScript в Delphi

Добрый день!
Есть один, доработанный мной, пример кода на JavaScript с Яндекса.
Выглядит он так:
Код:
ymaps.ready(init);

function init() {
    var 
        myMap = new ymaps.Map('map', {center: [52.3152,104.2548], zoom: 9, controls: []}),
    // Создадим панель маршрутизации.
        routePanelControl = new ymaps.control.RoutePanel({options: {showHeader: true, title: 'Маршрут этапа №1'}}),
        zoomControl = new ymaps.control.ZoomControl({options: {size: 'small', float: 'none', position: {bottom: 145, right: 10}}});
        routePanelControl.routePanel.options.set({types: {auto: true},reverseGeocoding: false});
    // Если вы хотите задать неизменяемую точку "откуда", раскомментируйте код ниже.
        routePanelControl.routePanel.state.set({fromEnabled: false, from: '52.3152,104.2548',
                                                  toEnabled: false,   to: '57.19528,57.88389'});

    myMap.controls.add(routePanelControl).add(zoomControl);
    // Получим ссылку на маршрут.
    routePanelControl.routePanel.getRouteAsync().then(function (route) {
        // Зададим максимально допустимое число маршрутов, возвращаемых мультимаршрутизатором.
        route.model.setParams({results: 1}, true);
        // Повесим обработчик на событие построения маршрута.
        route.model.events.add('requestsuccess', function () {
            var activeRoute = route.getActiveRoute();
            if (activeRoute) {
                // Получим протяженность маршрута.
                var length = route.getActiveRoute().properties.get("distance"),
                // Создадим макет содержимого балуна маршрута.
                    balloonContentLayout = ymaps.templateLayoutFactory.createClass('<span>Расстояние: ' + length.text + '.</span>');
                // Зададим этот макет для содержимого балуна.
                route.options.set('routeBalloonContentLayout', balloonContentLayout);
                // Откроем балун.
                activeRoute.balloon.open();
            }
        });

    });
}
Этот код строит маршрут между двумя точками на карте Яндекса и показывает расстояние между ними.
Этот код отрабатывает, когда запускаешь в браузере HTML страницу, которая имеет такой код:
Код:
<!DOCTYPE html>
<html>
<head>
    <title>Маршрут этапа №1</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <!--
        Укажите свой API-ключ. Тестовый ключ НЕ БУДЕТ работать на других сайтах.
        Получить ключ можно в Кабинете разработчика: https://developer.tech.yandex.ru/keys/
    -->
    <script src="https://api-maps.yandex.ru/2.1/?lang=ru_RU&amp;apikey=<Укажите свой API-ключ>" type="text/javascript"></script>
    <script src="msccCalculateLengthStep.js" type="text/javascript"></script>
    <style>
        html, body, #map {width: 100%; height: 100%; padding: 0; margin: 0;}
    </style>
</head>
<body>
    <div id="map"></div>
</body>
</html>
По итогу, получается такое вот:
Мне нужно получить, в своем приложении Delphi, вот это вот самое значение расстояния в километрах, чтобы вывести его в, скажем, Edit1.Text:=<здесь расстояние между точками из кода JavaScript>. Все, пока мне больше ничего не надо. Мне необязательно даже, пока что, грузить карту. Самое главное, что мне нужно: это получить рассчитанное расстояние в свое приложение. Если кто-то может помочь с выводом карты в приложение, то отдельное спасибо будет, в долгу не останусь.

Прошу помощи с этим вопросом.
Изображения
Тип файла: jpg image.png.f454d39ff1b1fa5e68794219599841b8.jpg (52.3 Кб, 0 просмотров)
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 09.12.2020, 17:49   #2
Alar
Александр
Администратор
 
Аватар для Alar
 
Регистрация: 28.10.2006
Сообщений: 17,758
По умолчанию

Юзать API яндекса, если он такие параметры передаёт
без яваскриптов.
Alar вне форума Ответить с цитированием
Старый 09.12.2020, 18:02   #3
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,194
По умолчанию

Цитата:
Сообщение от Alar Посмотреть сообщение
Юзать API яндекса, если он такие параметры передаёт
без яваскриптов.
Я знаю, что у Яндекса есть API для этого. Я и брал пример из кабинета разработчика.
У меня сложность в том, чтобы получить это значение в свою программу.

Вот с этим и прошу помочь мне. Наверняка кто-то сталкивался с таким ранее.
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 09.12.2020, 18:42   #4
Alar
Александр
Администратор
 
Аватар для Alar
 
Регистрация: 28.10.2006
Сообщений: 17,758
По умолчанию

даже если нет API
даже в делфи 7
был компонент веббровзер, в котором можно загрузить страницу и получить все параметры через гет элемент или типа того.
также можно заполнить формы присвоив значение, я такое лет 15 назад делал, когда было модно в сео регистрироваться в каталогах или типа того.
Alar вне форума Ответить с цитированием
Старый 10.12.2020, 01:10   #5
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,194
По умолчанию

Цитата:
Сообщение от Alar Посмотреть сообщение
даже если нет API
даже в делфи 7
был компонент веббровзер, в котором можно загрузить страницу и получить все параметры через гет элемент или типа того.
также можно заполнить формы присвоив значение, я такое лет 15 назад делал, когда было модно в сео регистрироваться в каталогах или типа того.
Это все хорошо и прекрасно, что ты делал это 15 лет назад.
В моем проекте нельзя и не получится использовать компонент веб-браузер.
Мне нужна помощь в виде примеров, а не в теории. В теории я итак знаю, что это делал кто-то. Я и прошу поделиться реальными примерами, а не прошлыми достижениями.
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 16.12.2020, 13:46   #6
BLACK_RAIN
Форумчанин
 
Регистрация: 13.02.2012
Сообщений: 867
По умолчанию

Цитата:
Сообщение от artemavd Посмотреть сообщение
Как применить код JavaScript в Delphi
Мне нужно получить, в своем приложении Delphi, вот это вот самое значение
У меня есть очень похожий вопрос. Мне отдельную тему создавать или можно прямо тут?
BLACK_RAIN вне форума Ответить с цитированием
Старый 16.12.2020, 17:03   #7
Alar
Александр
Администратор
 
Аватар для Alar
 
Регистрация: 28.10.2006
Сообщений: 17,758
По умолчанию

Всегда лучше создавать отдельную тему, в название темы точно передавая суть вопроса.

artemavd, сорри, но я полностью скатился в веб, потому от меня это далеко, а коды даже если сохранял они где-то на форуме и нужно искать.
Alar вне форума Ответить с цитированием
Старый 17.12.2020, 20:11   #8
cutter47
Пользователь
 
Регистрация: 22.06.2020
Сообщений: 23
По умолчанию

Как применить код JavaScript в Delphi?
Если выполнить а не применить...
Держите, может поможет
https://osdn.net/projects/sfnet_malz...1.2.0_src.tgz/
cutter47 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как правильно вставить код (javascript) Google Analytics? alkl7l Помощь студентам 5 25.11.2013 10:32
Как правильно применить код? artemavd Общие вопросы Delphi 5 05.06.2012 22:15
можно ли писать php код внутри javascript инструкции if? если можно, то как это сделать? Ubihinon JavaScript, Ajax 2 20.02.2012 08:40
Как запустить JavaScript из Delphi& Xenofibrius Работа с сетью в Delphi 3 26.08.2011 22:12