Избегайте варианта 2, как вы указали, это не очень хорошая идея. Многие фреймворки API не позволят вам это сделать.
Что касается двух других вариантов - я не думаю, что есть что-то плохое в том, чтобы иметь действительно длинный URL, это может выглядеть уродливо, но, по крайней мере, вы получаете все преимущества GET (идемпотентность, ясность, возможность закладок). Попробуйте заставить его работать с этой опцией и, возможно, рассмотрите некоторые обходные пути, если это возможно.
Но, в конце концов, не бойтесь переходить на POST, если вам это действительно нужно. Это не идеально, иногда вы не можете обойтись без нарушения правил.
GMap2 :: tileloaded ()
будет
См. GMap2.tilesloaded для справок.
Если вы используете Maps API v3, это изменилось.
В версии 3 вы, по сути, хотите настроить прослушиватель для события bounds_changed
, который сработает при загрузке карты. Как только это сработает, удалите слушателя, так как вы не хотите получать информацию каждый раз, когда границы области просмотра меняются.
Это может измениться в будущем по мере развития API V3: -)
Вы можете проверять метод GMap2.isLoaded ()
каждые n
миллисекунд, чтобы узнать, загружена ли карта и все ее фрагменты ( window.setTimeout ()
или window.setInterval ()
ваши друзья).
Где переменная map
является объектом типа GMap2:
GEvent.addListener(map, "tilesloaded", function() {
console.log("Map is fully loaded");
});