Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / API Яндекс карт / 1 сообщений из 1, страница 1 из 1
10.01.2020, 16:08
    #39912504
Pelsh
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
API Яндекс карт
На сайте имеется модуль для расчета стоимости доставки, основанный на АПИ Яндекс карт.

в хеадер вставлен следующий код:
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
<script type="text/javascript">
ymaps.ready(init);

function init() {
    // Стоимость за километр.
        var DELIVERY_TARIFF = 55,
    // Минимальная стоимость.
        MINIMUM_COST = 1500,
        myMap = new ymaps.Map('map', {
            center: [60.906882, 30.067233],
            zoom: 9,
            controls: []
        }),
    // Создадим панель маршрутизации.
        routePanelControl = new ymaps.control.RoutePanel({
            options: {
                // Добавим заголовок панели.
                showHeader: true,
                title: 'Расчёт доставки',
                maxWidth: 300
            }
        }),
        zoomControl = new ymaps.control.ZoomControl({
            options: {
                size: 'small',
                float: 'none',
                position: {
                    bottom: 145,
                    right: 10
                }
            }
        });
    // Пользователь сможет построить только автомобильный маршрут.
    routePanelControl.routePanel.options.set({
        types: {auto: true}
    });

    // Если вы хотите задать неизменяемую точку "откуда", раскомментируйте код ниже.
    routePanelControl.routePanel.state.set({
        fromEnabled: false,
        from: 'Малое Карлино'
     });
     


    myMap.controls.add(routePanelControl).add(zoomControl);
    
    //myMap.events.add('click', function (e) {
       
    //        var coords = e.get('coords');
   //         var coords_txt = [
   //                 coords[0].toPrecision(6),
   //                 coords[1].toPrecision(6)
   //                 ].join(', ');
                    
   //                 alert( "Проверка: ljcnfdrf = " + coords);
      
    //});

    // Получим ссылку на маршрут.
    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");
                
                    // Вычислим стоимость доставки.
                    //price = calculate(Math.round(length.value / 1000)),
                    //price_pre = calculate(Math.ceil(length.value/10000)*10);
                    

                    
                    
                    
                    var rasstoyanie=length.value/1000;
                    if (rasstoyanie < 200)
                    {
                        //alert( "Привет1 = " + rasstoyanie);
                    var price = calculate(Math.ceil(length.value/10000)*10);
                    
                    }
                    else
                     {
                        //alert( "Привет2 = " + rasstoyanie);
                            var price=Math.ceil((4000+((rasstoyanie*2)*10))/10)*10;
                     }
                // Создадим макет содержимого балуна маршрута.
                    
                    balloonContentLayout = ymaps.templateLayoutFactory.createClass(
                        '<span>Расстояние: ' + length.text + '.</span><br/>' +
                        '<span style="font-weight: bold; font-style: italic">Стоимость доставки: <g id=dostavka>' + price + '</g> руб.</span><br/>' +
                        '<hr><span>Цена указана для автомобиля 30 м&sup3;<br>Из расчета до 40 панелей за 1 доставку');
                // Зададим этот макет для содержимого балуна.
                route.options.set('routeBalloonContentLayout', balloonContentLayout);
                // Откроем балун.
                activeRoute.balloon.open();
            }
        });

    });
    

map.geoObjects.each(function (geoObject) {
  if (geoObject instanceof ymaps.Placemark) {
    console.log(geoObject.geometry.getCoorditanes())
    alert(geoObject.geometry.getCoorditanes());
  }
});
    

    // Функция, вычисляющая стоимость доставки.
    function calculate(routeLength) {
        return Math.max(routeLength * DELIVERY_TARIFF, MINIMUM_COST);
    }
}
  </script>




вопрос в следующем как мне в баллун всплывающий на карте вставить координаты точки??
...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / API Яндекс карт / 1 сообщений из 1, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]