Клуб API Карт

e.slice is not a function - откуда берется?

frankazoid
14 июня 2016, 23:18

http://uralkuper.ru/dostavka/proezd-na-sklad-moskva

?lang=ru_RU:1 Uncaught TypeError: e.slice is not a function

никак не найду, откуда берется

3 комментария
Подписаться на комментарии к посту
У вас передается параметре kord в ymaps.route не то, что он ожидает получить, тут:


ymaps.route([[kord_d[1][0], kord_d[1][1]], kord], {



И тут написана ерунда:
ymaps.ready(init);
var ll = 0;
function init(kord)


В init координаты не передаются, туда приходит объект ymaps
Ну вот такой замечательный программист писал. Но, насколько я понимаю, тут init функция определяется, что значит она не получает того, что ожидает? 
Передается туда значение с адресом, нет?


$("#rout_map").click(function(e) {
ll = 0;
$("#map").html("");
var val = $("#search_map").val();
init(val)
})
frankazoid,
Значит она вызывается 2 раза, что еще хуже.
Обработчик загрузки АПИ не нужно вызывать нигде кроме ymaps.ready
Кроме того, таким образом очищать карту некорректно, это "срывает голову" АПИ, и страница течет по памяти.
$("#map").html("");



Нужно сначала вызывать myMap.destroy()


Но в общем, если надо где-то вызвать построение маршрута, не нужно пересоздавать карту.
Достаточно скрывать/отображать ее контейнер и удалять старый маршрут, перед добавлением нового