#php #javascript #jquery #wordpress #google-maps
#php #javascript #jquery #wordpress #google-карты
Вопрос:
Я пытаюсь динамически загружать файл KML в карту в зависимости от того, какой пользователь buddy press вошел в систему. Все работает нормально, когда я жестко кодирую идентификатор пользователя в файле javascript, но мне это нужно для динамической загрузки текущего идентификатора пользователя.
Вот файл javascript:
function initialize(){
//MAP
//manually set user ID to zero
//var current_user =0;
var current_user;
//var current_user = "<?php get_currentuserinfo(); echo $current_user->ID?>"
var latlng = new google.maps.LatLng(90.64138205695923,-45.38903528363647);
var options = {
zoom: 16,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById("map_canvas"), options);
var kmlLayer = new google.maps.KmlLayer('http://www.mysite.com/timeline_' current_user '.kml');
kmlLayer.setMap(map);
Это то, что у меня есть в файле php, внутри цикла:
$("#address1").click( function() {
initialize();
var currentUser = <?php get_currentuserinfo(); echo $current_user->ID?>;
$current_user = currentUser;
});
Как я уже упоминал, это работает, если я жестко кодирую идентификатор пользователя, но я не уверен, как передать идентификатор пользователя из PHP в файл javascript.
Комментарии:
1. Почему бы не изменить вашу JS-функцию, чтобы ваш php-файл создавал javascript, который вызывает
initialize(<?=json_encode($current_user->ID)?>);
и передает пользователя через параметр?
Ответ №1:
Как и предполагалось в моем предыдущем комментарии, я думаю, это решит вашу проблему:
В файле js:
...
function initialize(current_user) {
...
}
...
В php:
...
<script type="text/javascript">
$("#address1").click( function() {
initialize(<?=json_encode($current_user->ID)?>);
});
</script>
...