2012-02-12 2 views
0

Я использую FusionTableLayer по адресу http://www.zimmi.cz/slepaMapa/ с прослушивателем кликов. При каждом нажатии этой функции цвет функции устанавливается (зеленый - правый, красный - неправильный). Все работает нормально, но в какой-то момент (примерно через 40-50 кликов) вся карта становится незаметной. Если вы уменьшаете масштаб, функции снова становятся интерактивными, но после нескольких кликов (не более 3, я думаю), он снова переключается. Я не думаю, что в коде есть что-то, что могло бы вызвать его (хотя я был бы рад, если бы кто-нибудь мог посмотреть). Есть ли ограничение относительно количества событий кликов на карту или минуту? Я не нашел ни в GM JS API, ни в Fusion API. Протестировано на Windows XP SP3 с последними версиями Opera и Firefox.Нажмите кнопку прослушивания событий перестает работать после определенного количества кликов

ответ

0

Это связано с ограничениями длины URL (~ 2 КБ). См. this SO Q&A thread для получения дополнительной информации об этом ограничении.

+0

Как я понял из ссылки, длина URL-адреса не установлена ​​априори в любом браузере. Как получается, что после изменения масштаба события события click снова работают? Если длина URL-адреса действительно является проблемой (я предполагаю, что предложение where может быть слишком длинным), как я могу избавиться от него? Я думал о том, чтобы добавить столбец CLICKED в таблицу и изменить его значение после нажатия этой функции, но это было бы очень медленно, я думаю. –

+0

Да, это странная часть. Я не могу это объяснить. –

+0

Ну, я сделал несколько тестов и обнаружил, что проблема с предложением «где» была проблемой. Самый простой способ решить проблему - использовать некоторый столбец идентификатора вместо строк (например, «1» намного короче, чем «Миссисипи») :-). В любом случае, это не решает проблему для действительно длинных «где», но в моем случае это работает. –

Смежные вопросы