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

Тема в разделе "JavaScript", создана пользователем avgaz, 27 июл 2012.

Модераторы: ZiX
  1. avgaz

    avgaz

    Регистр.:
    18 окт 2006
    Сообщения:
    188
    Симпатии:
    6
    Собственно делаю небольшой скриптик прокладки маршрута на основе 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' получают данные из формы всё вроде работает но при заходе на страницу когда данные ещё не передавались вываливается ошибка т.к переменные пустые. Вот вопрос как избавится от вывода этой ошибки??
     
  2. dino

    dino

    Регистр.:
    28 май 2009
    Сообщения:
    550
    Симпатии:
    204
    А если сделать проверку на наличие таких переменных и если их нет, то задать нулевые значения переменных, ну или какую то определённую точку?...
     
  3. avgaz

    avgaz

    Регистр.:
    18 окт 2006
    Сообщения:
    188
    Симпатии:
    6
    Дык я вроде и написал что если значение пустое то выдает сообщение о ошибке маршрута такое же сообщение будет если ввести не верные данные или цифры, определенную точку конечно можно, но выглядеть будет это не очень когда пользователь заходит а там уже маршрут.
     
  4. latteo

    latteo Эффективное использование PHP, MySQL

    Moderator
    Регистр.:
    28 фев 2008
    Сообщения:
    1.402
    Симпатии:
    1.182
    Попробуй проверку сделать, перед началом построения маршрута:
    Код:
    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);
    });
    } 
    http://javascript.ru/typeof
     
  5. avgaz

    avgaz

    Регистр.:
    18 окт 2006
    Сообщения:
    188
    Симпатии:
    6
    Спасибо, с этим разобрался.
    Возник ещё один вопрос по этому API 2
    Как реализовать автоматическое заполнение адреса. К примеру на яндекс картах при заполнении поля поиска адреса автоматически выдает адреса по начальным буквам, вот как такое реализовать с помощью их API
     
  6. Atenon

    Atenon Постоялец

    Регистр.:
    8 дек 2007
    Сообщения:
    83
    Симпатии:
    6
    Имеются собственные интерактивные карты созданные с помощью ymaptiler.
    Необходима функция чтобы каждый пользователь мог ставить свои маркеры, видимые только ему или группе людей по выбору.
    Чтобы на одной карте можно было создать множество подложек с маркерами.
    Создание подложки вписав в специально отведенное поле название и после, с помощью выпадающего списка, их менять.
    Подскажите на каком языке программирования это делается и по возможности странички в помощь. Знание языков нулевое, но решить эту задачу необходимо.