var marker1 = new google.maps.Marker({
map: map,
title: 'aa',
position: new google.maps.LatLng(777.777, 999.999)
и создать для него событие при клике
google.maps.event.addListener(marker1, 'click', load); // load и есть вызов функции load
через php я делаю это так
<?php
echo 'google.maps.event.addListener(marker1, \'click\', load );';
?>
теперь объясните дураку как вместо load вызвать php функцию с аргументом
например
function loadFunc(argument)
{
...
}
-----------------------------------------------------------------------------------------
пока писал вопрос додумался что это может быть невозможно так как страница у пользователя уже без php, или это все же не так.
но блин даже javascript функцию с аргументом не получается задать
помогите пожалуйста
Спустя 4 минуты (8.10.2012 - 13:20) inpost написал(а):
google.maps.event.addListener(marker1, \'click\', load ); - Это JS функция. Не понимаю, зачем тебе в общем-то нужен ПХП в данном случае. Вызывай эту функцию напрямую.
Спустя 24 минуты, 51 секунда (8.10.2012 - 13:45) Giku написал(а):
я думаю что в пхп больше возможностей и для меня (я начинающий) он более понятен
а как в js вызвать функцию с аргументом ?
google.maps.event.addListener(marker1, \'click\', load(argument) ); // не получается
а как в js вызвать функцию с аргументом ?
google.maps.event.addListener(marker1, \'click\', load(argument) ); // не получается
Спустя 9 минут, 52 секунды (8.10.2012 - 13:54) killer8080 написал(а):
Giku
а что ты собирался делать этой функцией?
а что ты собирался делать этой функцией?
Спустя 1 минута, 25 секунд (8.10.2012 - 13:56) Ache написал(а):
google.maps.event.addListener(marker1, 'click', load(argument) );
Кавычки экранировать не нужно :) Они же не передаются в строке.
Спустя 1 минута, 34 секунды (8.10.2012 - 13:57) Giku написал(а):
Цитата (killer8080 @ 8.10.2012 - 13:54) |
Giku а что ты собирался делать этой функцией? |
для разных маркеров выводить разную информацию
Спустя 3 минуты (8.10.2012 - 14:00) killer8080 написал(а):
Цитата (Giku @ 8.10.2012 - 13:57) |
для разных маркеров выводить разную информацию |
либо составляй массив маркеров на клиентской стороне с соответствующими текстами, либо запрашивай аяксом.. Первый вариант предпочтительней, если маркеров не очень много.
Спустя 3 минуты, 45 секунд (8.10.2012 - 14:04) Giku написал(а):
Цитата (Ache @ 8.10.2012 - 13:56) |
google.maps.event.addListener(marker1, 'click', load(argument) ); Кавычки экранировать не нужно :) Они же не передаются в строке. |
я думаю выводить ее буду тоже пхп кодом, внутри него js так как argument=$variable из пхп
я буду в цикле создавать маркеры и хочу автоматически задать им аргумент для выполнение функции чтобы при клике на него выводилась нужная информация.
создавать отдельную функцию для каждого маркера - глупо.
так как отличаться будет только информация а функция одна и та же
и что бы понять какой это маркер вот я и передаю этот параметр
Спустя 58 секунд (8.10.2012 - 14:05) inpost написал(а):
javascript.ru , почитай основы JS, это на нём делать надо. Как перехватывать события, как передавать параметры в функцию, как создавать функции на JS.
Спустя 7 минут, 24 секунды (8.10.2012 - 14:13) Giku написал(а):
Цитата (inpost @ 8.10.2012 - 14:05) |
javascript.ru , почитай основы JS, это на нём делать надо. Как перехватывать события, как передавать параметры в функцию, как создавать функции на JS. |
ок, спасибо
Спустя 53 минуты, 8 секунд (8.10.2012 - 15:06) Giku написал(а):
Цитата (Giku @ 8.10.2012 - 14:04) |
google.maps.event.addListener(marker1, 'click', load(argument) ); |
google.maps.event.addListener(marker1, 'click', load(argument) );
попробовал без php
только js но функция выполняется сразу как открыть (или обновить) окно без того чтобы на нее кликать
Спустя 20 минут, 30 секунд (8.10.2012 - 15:26) Giku написал(а):
Решил на этом примере
google.maps.event.addListener(marker, 'click', function() {
map.setZoom(8);
map.setCenter(marker.getPosition());
});
}
google.maps.event.addListener(marker, 'click', function() {
load(argument);
});
}
Спустя 6 минут, 19 секунд (8.10.2012 - 15:32) Giku написал(а):
Всем большое спасибо