У меня есть странная проблема с попыткой объединить несколько динамичный дисплей Google Maps. У меня есть наложения на карте, которые я бы назвал функцией при нажатии. Сначала у меня было все жестко закодированное, поэтому у меня была функция для каждого наложения, например:
google.maps.event.addListener(southEast, 'click', showSouth);
function showSouth() {
// do stuff
}
Это работало без проблем, но затем я сделал всю страницу более динамичной, поэтому я решил сделать одну функцию, которая будет передавать идентификатор, а затем отображать на основе этого, что, как я считаю, должно было быть настроено изначально в любом случае, Я изменил код, чтобы больше походить на это:
google.maps.event.addListener(southEast, 'click', showArea(1));
function showArea(id) {
// do stuff based on that id
}
Функция работала, но проблема в том, что она сразузывается при загрузке страницы. После изучения я узнал, что когда вы вызываете функцию с круглыми скобками, эта функция вызывается немедленно, а затем ссылается на возвращаемое значение. источник
Итак, теперь я немного зациклен на том, как именно передать этот идентификатор функции без немедленного вызова функции. Я нашел некоторые хакерские способы сделать это, что могло бы работать, но я чувствую, что это не должно быть чем-то, что я должен взломать вместе...