как избавится от ошибки API Яндекс карт

avgaz

Участник
Регистрация
18 Окт 2006
Сообщения
189
Реакции
7
Собственно делаю небольшой скриптик прокладки маршрута на основе API Яндекс карт
Вот код его
Код:
 <script src="http://api-maps.yandex.ru/2.0/?load=package.full&lang=ru-RU"
            type="text/javascript"></script>
    <script type="text/javascript">
        var myMap, route;
 
        ymaps.ready(init);
 
        function init () {
            var myMap = new ymaps.Map("map", {
                    center: [57.131311, 34.576128],
                    zoom: 7
                });
            ymaps.route([
                '$start',
                '$end'
            ], {
                // Опции маршрутизатора
                mapStateAutoApply: true // автоматически позиционировать карту
            }).then(function (route) {
                myMap.geoObjects.add(route);
            }, function (error) {
                alert("Возникла ошибка: " + error.message);
            });
 
        }
    </script>
Переменные '$start' и '$end' получают данные из формы всё вроде работает но при заходе на страницу когда данные ещё не передавались вываливается ошибка т.к переменные пустые. Вот вопрос как избавится от вывода этой ошибки??
 
А если сделать проверку на наличие таких переменных и если их нет, то задать нулевые значения переменных, ну или какую то определённую точку?...
 
А если сделать проверку на наличие таких переменных и если их нет, то задать нулевые значения переменных, ну или какую то определённую точку?...
Дык я вроде и написал что если значение пустое то выдает сообщение о ошибке маршрута такое же сообщение будет если ввести не верные данные или цифры, определенную точку конечно можно, но выглядеть будет это не очень когда пользователь заходит а там уже маршрут.
 
Попробуй проверку сделать, перед началом построения маршрута:
Код:
if (typeof($start) !== "undefined" && typeof($end) !== "undefined"){
ymaps.route([
'$start',
'$end'
], {
// Опции маршрутизатора
mapStateAutoApply: true // автоматически позиционировать карту
}).then(function (route) {
myMap.geoObjects.add(route);
}, function (error) {
alert("Возникла ошибка: " + error.message);
});
}

Для просмотра ссылки Войди или Зарегистрируйся
 
Спасибо, с этим разобрался.
Возник ещё один вопрос по этому API 2
Как реализовать автоматическое заполнение адреса. К примеру на яндекс картах при заполнении поля поиска адреса автоматически выдает адреса по начальным буквам, вот как такое реализовать с помощью их API
 
Имеются собственные интерактивные карты созданные с помощью ymaptiler.
Необходима функция чтобы каждый пользователь мог ставить свои маркеры, видимые только ему или группе людей по выбору.
Чтобы на одной карте можно было создать множество подложек с маркерами.
Создание подложки вписав в специально отведенное поле название и после, с помощью выпадающего списка, их менять.
Подскажите на каком языке программирования это делается и по возможности странички в помощь. Знание языков нулевое, но решить эту задачу необходимо.
 
Назад
Сверху