GEvent.addListener (...) вернуть? - PullRequest
1 голос
/ 31 мая 2010

мой вопрос таков: Что GEvent.addListener (map, function "click" () {...}) возвращает в функцию обратного вызова? Я вообще не нахожу никакой информации в справочнике GMaps, можете ли вы показать мне ее? Единственное, что я обнаружил, это то, что есть два параметра, «overlay» и «latLng», которые передаются. Название этих параметров не должно интересовать, верно? Я мог бы также назвать их "Foo" и "бар", насколько я знаю. Но параметр "оверлей" в любом случае кажется пустым?

Также у меня проблемы с передачей этих двух параметров непосредственно в функцию обратного вызова, которую я создал сам, которая выглядит так ...

    GEvent.addListener(gmap, "click", generateMarker(overlay, latLng));

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

    GEvent.addListener(gmap, "click", function(overlay, latLng) {
        generateMarker(overlay, latLng);
    });

1 Ответ

4 голосов
/ 31 мая 2010

Ваш первый пример пытается передать результат вызова generateMarker(overlay, latLng) на addListener, что, конечно, не сработает. Второй пример - правильный способ сделать это.

Вы можете называть параметры, переданные вашему обратному вызову, как угодно.

Наложения - это объекты на карте, привязанные к координатам широты / долготы, поэтому я предполагаю, что overlay - это любой объект, по которому щелкнули. Тем не менее, похоже, что версия 3 API передает объект события в обратный вызов:

google.maps.event.addListener(map, 'click', function(event) {
    placeMarker(event.latLng);
});

Если в документации ничего нет по этому поводу, вы всегда можете проверить event с помощью Firebug.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...