Я создаю веб-страницу на основе API карт Google для каждого запроса клиента.Я извлекаю данные из базы данных в xml, который затем связывается с маркерами на карте (часть данных для каждой записи - это широта и долгота, которые устанавливают маркер).Когда пользователь нажимает на маркер, он видит контент, относящийся к этому месту, в div страницы (контент - это заголовок, фотография, аудиофайл и расшифровка аудиофайла).
Все работает, кроме... Я не могу понять, как отобразить стенограмму, которая представляет собой текстовый файл.Узел xml содержит полный путь, а папка с текущим файлом хранится на сервере.Я знаю, как это сделать с помощью php, но не могу переименовать мой файл с расширением php, потому что API Карт Google не разрешит этого (карта исчезнет).
Вот соответствующая часть кода:
downloadUrl("xmlTest.php", function(data)
{
var xml = data.responseXML;
var markers = xml.documentElement.getElementsByTagName("Sound_xcrpt");
for (var i = 0; i < markers.length; i++)
{
var title = markers[i].getAttribute("se_title");
var desc = markers[i].getAttribute("se_desc");
var type = markers[i].getAttribute("se_contrib");
var ph_title = markers[i].getAttribute("ph_title");
var ph_web = markers[i].getAttribute("ph_web");
var ph_thumb = markers[i].getAttribute("ph_thumb");
var trans_ex = markers[i].getAttribute("trans_xcrpt");
var audio = markers[i].getAttribute("se_audio_file");
var point = new google.maps.LatLng(
parseFloat(markers[i].getAttribute("se_lat")),
parseFloat(markers[i].getAttribute("se_lng")));
var html =
'<head>' +
'<link rel="stylesheet" href="infoStyle.css" type="text/css">' +
'</head>' +
'<html>' +
'<body>' +
'<header id="title">' + title + '</header>' +
'</section id="desc">' + desc +
'</section>' +
'<section id="photo_thumb">' +
'<img src="'+ph_thumb+'"/>' +
'</section>' +
'</body>' +
'</html>';
var winHtml =
'<head>' +
'<link rel="stylesheet" href="styleWin2.css">' +
'</head>' +
'<body>' +
'<header id="title2">' + ph_title + '</header>' +
'<div class="photos">' +
'<img src="'+ph_web+'"/>' +
'</div>' +
'<div class="trans">' +trans_ex+
'</div>' +
'<footer id="audio">' +
'<audio autoplay="autoplay" controls="controls">' +
'<source src="'+audio+'">' +
'</audio>' +
'</footer>' +
'</body>';
var icon = customIcons[type] || {};
var marker = new google.maps.Marker(
{
map: map,
position: point,
icon: icon.icon,
animation: google.maps.Animation.DROP,
shadow: icon.shadow
});
bindInfoWindow(marker, map, infoWindow, html);
contentBox(marker, map, content, winHtml, infoWindow);
}
});
}
"trans_ex" содержит массив имен путей.При настройке кода выше, он отображает фактическое имя пути в div, а не содержимое текстового файла, на который указывает это имя пути.
Есть ли метод javascript (или jquery) для выполненияэтот?Я знаю, что это сложно, потому что у меня есть запрос на стороне сервера.
Спасибо за вашу помощь, Шерил