Witam stworzyłem funkcję która pobiera dane z bazy danych MySQL i wyświetla je dzięki współrzędnym na mapie google. Wszystko ładnie działa ale muszę zastosować do tego wyszukiwarkę. Będzie miała ona za zadanie wyszukać rekordy które mają w nazwie i nie tylko odpowiedni ciąg znaków. Po wyborze dane wyświwtlają się ale na mapie brak odpowiednich markerów.
Tak wygląda strona z markerami
http://brzanek.webd.pl/CMS/mapa/index.php<?php
?>
<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Google Maps JavaScript API v3 - Twoja pierwsza mapa</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript"
src="https://maps.googleapis.com/maps/api/js?sensor=false">
</script>
<script type="text/javascript">
//Baza ikonek do oznaczenia miejsc wedle typu
var ikonki = {
pub: {
icon: 'tornado.png',
shadow: 'tornado.png'
},
grad: {
icon: 'hail.png',
shadow: 'hail.png'
},
sport: {
icon: 'stadium.png',
shadow: 'shadow.png'
},
kino: {
icon: 'cinema.png',
shadow: 'shadow.png'
}
};
//Ładuje znaczniki na mapę
function load() {
//Ustawia środek mapy w wybranej pozycji, ustawia zoom mapy i jej typ - w tym przypadku wskazuje na Sosnowiec
var map = new google.maps.Map(document.getElementById("map"), {
center: new google.maps.LatLng(53.634753, 15.675833),
zoom: 8,
mapTypeId: 'roadmap'
});
var dymekInfo = new google.maps.InfoWindow;
//Pobiera nazwę pliku generującego XML
pobierzAdres("generatorXML.php", function(data) {
var xml = parseXml(data);
//Zczytuje dane z pliku XML
var znaczniki = xml.documentElement.getElementsByTagName("znacznik");
for (var i = 0; i < znaczniki.length; i++) {
var nazwa = znaczniki[i].getAttribute("nazwa");
var data = znaczniki[i].getAttribute("data");
var adres = znaczniki[i].getAttribute("adres");
var typ = znaczniki[i].getAttribute("typ");
var wspolrzedne = new google.maps.LatLng(
parseFloat(znaczniki[i].getAttribute("lat")),
parseFloat(znaczniki[i].getAttribute("lng")));
//Buduje strukturę wyświetlanego elementu
var html = "<b>" + nazwa + " Data: " + data + " <br />" + adres;
var ikona = ikonki[typ] || {};
var znacznik = new google.maps.Marker({
map: map,
position: wspolrzedne,
icon: ikona.icon,
shadow: ikona.shadow
});
laczenieDanych(znacznik, map, dymekInfo, html);
}
});
}
//Funkcja wiążąca znaczniki z mapą
function laczenieDanych(znacznik, map, dymekInfo, html) {
google.maps.event.addListener(znacznik, 'click', function() {
dymekInfo.setContent(html);
dymekInfo.open(map, znacznik);
});
}
//Wywołanie połączenia za pomocą AJAXa
function pobierzAdres(url, callback) {
var request = window.ActiveXObject ? new ActiveXObject('Microsoft.XMLHTTP') : new XMLHttpRequest;
request.onreadystatechange = function() {
if (request.readyState == 4) {
request.onreadystatechange = nicNieRob();
callback(request.responseText, request.status);
}
};
request.open('GET', url, true);
request.send(null);
}
//Funkcja parsująca XML
function parseXml(str) {
if (window.ActiveXObject) {
var doc = new ActiveXObject('Microsoft.XMLDOM');
doc.loadXML(str);
return doc;
}
else if (window.DOMParser) {
return (new DOMParser).parseFromString(str, 'text/xml');
}
}
function nicNieRob() {}
</script>
</head>
<body onLoad="load()">
<div id="map" style="width: 1100px; height: 500px; align: center;">
</div>
<div>
<?php include ('szukaj.php'); ?>
</div>
</body>
</html>
<?php
?>
plik generatorXML.php
<?php
//Pobiera dane do połączenia z bazą danych
require('db.php');
//Funkcja parsująca znaki do standardu ASCII, który jest potrzebny dla pliku XML. To też jest zabezpieczenie przed próbą wpisania kodu wykonującego.
function parseToXML($htmlStr)
{
return $xmlStr;
}
//Otwiera połączenie z serwerem baz danych MySQL
if (!$connection) {
}
//Wybiera bazę danych z serwera
if (!$db_selected) {
}
//Pobieranie znacznika z tabeli. Dane są pobierane pojedynczo.
$query = "SELECT * FROM google_maps WHERE 1";
if (!$result) {
}
//Tworzy plik XML
//Tworzy kolejne, pojedyncze wpisy do pliku XML
//Dodawanie atrybutów do znacznika
echo 'nazwa="' . parseToXML
($row['nazwa']) . '" '; echo 'data="' . parseToXML
($row['data']) . '" '; echo 'adres="' . parseToXML
($row['adres']) . '" '; echo 'lat="' . $row['lat'] . '" '; echo 'lng="' . $row['lng'] . '" '; echo 'typ="' . $row['typ'] . '" '; }
//Zamyka plik XML
?>
Jak użyjemy wyszukiwarki pod mapą
Plik szukaj.html
<!doctype html>
<title>Wyszukiwanie raportów o zagrożeniach pogodowych
</title> <h1>Wyszukiwanie raportów o zagrożeniach pogodowych
</h1> <form action="wyniki.php" method="post"> Wyszukaj według:
<option value="data" />Data (0000-00-00)
<option value="adres" />Adres (nazwa miejscowości)
<option value="typ" />Rodzaj (Wyładowania, Grad, Tornado itp.)
Szukane wyrażenie:
<input type="text" name="wyrazenie" /> <input type="submit" name="wyszukaj" />
Plik wyniki.php
<?php
require('db.php');
//Funkcja parsująca znaki do standardu ASCII, który jest potrzebny dla pliku XML. To też jest zabezpieczenie przed próbą wpisania kodu wykonującego.
function parseToXML($htmlStr)
{
return $xmlStr;
}
$metoda = $_POST['metoda'];
$wyrazenie = $_POST['wyrazenie'];
$wyrazenie = trim($wyrazenie); if (!$metoda || !$wyrazenie)
{
echo 'Brak parametrów wyszukiwania, wróć do poprzednej strony i spóbuj ponownie!'; }
{
}
//Otwiera połączenie z serwerem baz danych MySQL
if (!$connection) {
}
//Wybiera bazę danych z serwera
if (!$db_selected) {
}
//Pobieranie znacznika z tabeli. Dane są pobierane pojedynczo.
$query = "SELECT * FROM google_maps WHERE ".$metoda. " like '%".$wyrazenie."%'";
//Tworzy plik XML
//Tworzy kolejne, pojedyncze wpisy do pliku XML
//Dodawanie atrybutów do znacznika
echo 'nazwa="' . parseToXML
($row['nazwa']) . '" '; echo 'data="' . parseToXML
($row['data']) . '" '; echo 'adres="' . parseToXML
($row['adres']) . '" '; echo 'lat="' . $row['lat'] . '" '; echo 'lng="' . $row['lng'] . '" '; echo 'typ="' . $row['typ'] . '" '; }
//Zamyka plik XML
?>
Tak wygląda baza danych

Z góry dziękuję za pomoc i pozdrawiam.
Czy to jest aż tak duży problem, że nikt nie potrafi mi pomóc?