Autor Zpráva
Anonymní
Profil *
Dobry den, snazim se vytvorit klikaci mapu provazanou na udaje v databazi MySQL. Vse mi funguje az na to, ze po zvoleni jakekoli souradnice mi mapa "utece" na souradnice 0, 0. Mapa je pomerne velka, proto je pomoci css dana do bloku s moznosti scrollovani. Jak zaridit, aby mapa po zvoleni souradnic na nich zustala? Pomoci php to zrejme nepujde, predokladam, ze nejlepe poslouzi javascript (pomoci top.style, style.backgroundPosition nebo neceho takoveho), ale zatim se mi to nepodarilo zajistit. Muzete nekdo prosim poradit? Nize je kod.

<html>
<head>

<style>
#mapa {
background: url("mapa.gif") top left no-repeat;
width:67%;
height:600px;
overflow:auto;
position:relative;
}
</style>

<title></title>
</head>
<body>

<map name="mesta">
<area href="mapa.php?map.x=752&map.y=320" shape="circle" coords="752, 320, 15">
<area href="mapa.php?map.x=917&map.y=505" shape="circle" coords="917, 505, 15">
</map>

<div id="mapa">
<img src="roman.gif" name="map" usemap="#mesta">
</div>

<?php

// dotaz po kliknuti na souradnice
// pokud jsou naplneny promenne souradnic
if ($map_x && $map_y) {
// vyhledame v tabulce mesto, jehoz souradnice x a y odpovidaji souradnicim vybranym v klikaci mape
$query1 = "select nazev, pocet_obyvatel from mesta where souradnice_top=$map_y and souradnice_left=$map_x";

$result = mysql_query($query1, $link) or die ("SQL dotaz nešlo provést");
$num = mysql_num_rows($result);

if ($row = mysql_fetch_array($result)) {
echo $row["nazev"]."<br/>";
echo $row["pocet_obyvatel"]."<br/>";
echo "atd.";
} else {
echo "Souřadnice mapy nesouhlasí s db!";
}
}

?>

<script type="text/javascript">
// zde bych chtel zajistit posun

</script>

</body>

</html>
barny79
Profil
Tak jak se máš ja o tom sice moc nevim ale zase mám jiný problém jevim jak zjistit ty souřadnice moc se v tom nevyznám a potřeboval bych radu jak jse nastavit tak jak potřebuji. Takže bych potřeboval tak trošku vysvětlit jak se vtom vyznati. Díky. Zdeněk
Anonymní
Profil *
Spojení databáze s mapou je celkem jednoduché, vysvětelím.
<map name="mesta"> a dále:
jsou zde udány klikatelné oblasti mapy, tedy souřadnice, souřadnice jsou uvedeny i v databázi MySQL. Kliknutí v daných souřadnicích přesměruje prohlížeč na např. http://....mapa.php?map.x=3549&map.y=1434 (viz name="map" v oblasti <div id="mapa">). Na ty se obrací dotaz MySQL, jsou kvůli svým konvencím si je MySQL převede na map_y a map_x a vrátí výsledek. Potud je vše v pořádku. Ale po kliknutí v dané oblasti mapa odroluje na souřadnice 0, 0 - což samozřejmě nechci. Ještě více mi to vadí z hlediska zamýšlené budoucí funkčnosti - např. vyhledávací text area, podle údajů do ní zadaných by se řídil jednak výše uvedený dotaz a jednak by podle nich mapa odrolovala na patřičné souřadnice. Takže jediné, co potřebuji, programově odrolovat na požadované souřadnice x a y oblasti, v níž je mapa. Už se s tím mořím dlouho, ale zatím se nedaří.
Toto téma je uzamčeno. Odpověď nelze zaslat.