Клуб API Карт

Не строит маршрут

p.oblivion
27 апреля 2015, 10:20

Есть файлы:

searchJS.html

 

<head>

    <title> </title>

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

   

    <script src="http://api-maps.yandex.ru/2.1/?lang=ru" type="text/javascript"></script>

 

    <script src="searchJS.js" type="text/javascript"></script>

 

 

    <style>

        html, body, #map {

            width: 100%;

            height: 100%;

            padding: 0;

            margin: 0;

        }

    </style>

</head>

<body>

<div id="map"></div>

<input type="button" value="Построить маршрут" onclick="calcRoute()" />

</body>

и срипт построения маршрута:
var route, ch =1;
var markers = [];
var point = [];
var myMap;
ymaps.ready(init);
function init() {
    var myMap = new ymaps.Map('map', {
            center: [59.938, 30.313],
            zoom: 14,
            //type: 'yandex#map',
            behaviors: ['scrollZoom', 'drag'],
            controls: []
        }),
        searchStartPoint = new ymaps.control.SearchControl({
            options: {
                useMapBounds: true,
                noPlacemark: true,
                noPopup: true,
                placeholderContent: 'start',
                size: 'large'
            }
        });
    myMap.controls.add(searchStartPoint);
    searchStartPoint.events.add('resultselect', function (e) {
        var results = searchStartPoint.getResultsArray(),
            selected = e.get('index'),
            point = results[selected].geometry.getCoordinates();
   myMap.events.fire('click', new ymaps.Event({coordPosition:point}));
   
    })
        .add('load', function (event) {
            // По полю skip определяем, что это не дозагрузка данных.
            // По getRusultsCount определяем, что есть хотя бы 1 результат.
            if (!event.get('skip') && searchStartPoint.getResultsCount()) {
                searchStartPoint.showResult(0);
            }
        });
//Отслеживаем событие клика по карте
myMap.events.add('click', function (e) {                
        var coords = e.get('coordPosition');
if(markers.length < 10)
{
             myPlacemark = new ymaps.Placemark([coords[0].toPrecision(6),coords[1].toPrecision(6)], {
                    // Свойства
                    // Текст метки
                    iconContent: ch
                }, {
                    // Опции
                    // Иконка метки будет растягиваться под ее контент
                    preset: 'twirl#blueStretchyIcon'
                });     
markers.push(myPlacemark);
myMap.geoObjects.add(myPlacemark);
ch++;
}
else
{
alert("Вы задали максимальное количество точек");
}
            });
}
function calcRoute() {
for(var i = 0, l = markers.length; i < l; i++) {
point[i] = markers[i].geometry.getCoordinates();
//alert('point[]='+point[i]);
}
            ymaps.route(point, {
                // Опции маршрутизатора
                mapStateAutoApply: true // автоматически позиционировать карту
            }).then(function (router) {
route = router;
                myMap.geoObjects.add(route);
            }, function (error) {
                alert("Возникла ошибка: " + error.message);
            });
}

 

Непонятно, почему метки на карте ставит. ам маршрут не строит..
3 комментария
Подписаться на комментарии к посту

Размещение кода в посте не имеет смысла. Лучше дать ссылку на страницу с этим кодом

Ошибки в коде. Вот так работает:  https://jsfiddle.net/Lhhewybc/

Спасибо огромное !