Клуб API Карт

И снова Uncaught TypeError: Cannot read property '0' of undefined

what4me
20 декабря 2013, 17:29

Всем доброго времени суток.

 

Версия api: 2.0

package: full

Наблюдаю указанную ошибку в коде АПИ:

 

combine.xml?modules=3G5o6B3A3X3K3B37:

/**

         * @ignore

         * Рекурсивная функция, вычисляющая индекс в массиве (между left и right),

         * начиная с которого объекты имеют координату по x value или большую.

         * @param {Object[]} arr Массив объектов, в котором ведется поиск.

         * @param {Integer} left Ограничение по индексу массива слева.

         * @param {Integer} right Ограничение по индексу массива справа.

         * @param {Number} value Минимальное значение левой границы.

         */

_getPosition: function (arr, left, right, value) {

            var lValue = arr[left][0],

                rValue = arr[right][0],

                center;

            if (lValue >= value) {

                return left;

            }

            if (rValue < value) {

                return right + 1;

            }

 

            if (right - left == 1) {

                return right;

            }

 

            center = left + Math.round((right - left) * (value - lValue) / (rValue - lValue));

            if (center == left) {

                center++;

            } else if (center == right) {

                center--;

            }

            if (arr[center][0] < value) {// Здесь ошибка

                return this._getPosition(arr, center, right, value);

            } else {

                return this._getPosition(arr, left, center, value);

            }

        }

 

  

В результате одно взаимодействие с картой (клик, драг, т.п.) и карта блокируется + маркеры и кластеры не рисуются.

Можете подсказать, в чём проблема?

9 комментариев
Подписаться на комментарии к посту

Можно ссылку на этот код?

http://api-maps.yandex.ru/2.0.36/debug/combine.xml?modules=3G5o6B3A3X3K3B37-5.l-!-)-4-15i5m7*.s4z--9Q9Z$a7,4*-D-E$h$m$i9n9G8i8c$j7q7j5g9s8g8f5k$z-d$J8p3M7M4$5B3L5G9092949395919698999-9$9I9K9L9H6Q6Z6J6z7d7b7c7a7e6q6)6,6*6j5452579c53-v-A-B-w-x-C3S4m4N6F4F$A$x_47P4Y3W.n$H$G$I$K3V4h8q5_.m-q_V_R_T!g!i!h!x!k!e.M!f!a4V-85H.p.k-*-,-3_j.u.t4X454442797$4!7.4_4(4)$)5C$*-g$,5D484.41474649-b8v313Y9r3O9o3H6p5I5f5z3U6u7J8a7Q7Z7z8b30$L5V626063643F4j5Z7l7m3Q5L3Z4l4k4q7(4C4D3I4g3R4M7)4c4L-__u9J_y9*$d_A9)$e_p_C9,$f4e6e6h4-434B9g8Z9a3C5$6l$n$l6g$r4r5X6k6f$u6d7H$s3P9h9M.T.S9F8k8d8r5l3.5h5a5j9R9P8t8m$Z8u8n-a8s8l8e$Q8w8o8h-c6.6-6_6!6$4S4O4P$(7X5w5v9t9m7D-n-k-m-i-l-o7r7s5s9U9Y9X9N_d_f_e.R-Q.U_b9S$v9T-J_c9O-Z4x-z9W3$693-6867664J$T$V6(9e3T9p8J5E384A5b4Z979d56-y4E4u9k3j_8_$8G7T6G4G3)5d-7.d.f.i.e.g.o.r.P.N.O3,_W_S_U!t!u!I!H!T!U!W!D!E!K!L!8!Y!0!X!9!-!F!6!V!5.Q.L.Z3s6H5c-$.h-..w.).q.,.x.v-(.H_q9u9w9A3(3_3!6o4H396v3N7G7I8!8-868$898_8,8.8(8)8*7_7-4d40787!$!5A7L$--f3J4a5P368L8Q8j3D5)5.8S5p4i8y5K9_5e5n8A8C8F6I4y6a5W61$R7C$9654,4Q!B!r!s.(.*!C.!.G.z.F.j-2_,.4.5_t_N_P_l_g_o_x_H_k_h_v$c$b9z_I9(_i4I7h6Y6X$g$t$k5Y$o5*5,5-595(9v9B9y9f3E9x7v7f-F9V5q$S3233344W4T4b4U4R_*___)_!_(_.737E-j_a6U$w844n7A6N$U9b6n55$6-95J6i!c!d$Y$10a2N0.2f0F100v0t5Q!72e191I!b2O1W0u003f2q.E.K5U.9!m_Q_z.6.7.a.b.._Z_J.c9E-W-K3*7o5r5t5u6t87885077$W$8$_5R8U8Y8M6b5N8z7k4o8x8B8D8E4v$.2L1s0B270-3l0m161J290V2o_O.X.Y9j_D.3.1.29!9._w_r_s_G$08X$p5!-O9i7t5S7i6K$5$3835T7y7B9D583q-6!v!P!N$20A1!1h1E0n0e0y050o0C3o0O2!3h0p2x!$2u0U1O203i2a1t181r5M.-.80d2(1u0x1l1f21._0Q1X2Y_-6m_3$C$D7n5x-e5y9l808R1P0N!y0M1y.V.W_L_n9q_m_E_K5O$O356M1Q1c17041,!4!2!3!1!S0T3c1)1G1o2K1D0)281a3m1z08133u3t0G1A2E2p2Z152l0w111K!p.$2*2J4p4K6w_X_Y4t7K8I0$2t0R0s_M.0-H6R$N6T2X033a0Z1(0z0H1Y2H1n011_1d2m1F_06A6y_16x8H6O0l3y0Y2n2M3v0j2j0h1j2D2I7g4f-h6V$7$$6W&jsonp_prefix=ymaps2_0_36

Ссылку на ваш код, который воспроизводит эту ошибку.

Не на код АПИ

Имеете в виду ссылку на сайт, где это воспроизводится?
 Если да, то не хотелось бы её публично оставлять. Как можно написать в личку?

Спасибо большое! Вы совершенно правы. Всё починилось (:

а поподробнее можно что делать то?

Насколько я помню, проблема была в том, что координаты передавались неверно - через запятую, а надо через точку.

Например:

Было 47,56344

А надо 47.56344

/код вырезан/