Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][CSS][PHP]mapa działek w svg
Forum PHP.pl > Forum > Przedszkole
gawar
Witam, Od jakiegoś czasu borykam się z problemem stworzenia mapy działek (kwadraciki rozmieszczone według informacji z bazy danych). Mapa ta ma mieć charakter orientacyjny. Dane takie jak sektor, rząd i działkę pobieram sobie z bazy i w pętli przetwarzam tworząc dane svg. Po najechaniu na dany kwadracik wyświetla się info z parametru title, a po kliknięciu przenosi mnie do strony odpowiadającej danej działce. Chciałbym teraz to udoskonalić tak aby:
1. Po najechaniu na kwadracik oprócz informacji z title pojawiał się tooltip z miniaturką zdjęcia. Z tym jest problem, próbowałem zrobić według tego opisu dymek z podpowiedzią (drugi przykład) ale chyba nie mogę takiego kodu dołączyć do svg - wygląda na to, że taki kod nie jest obsługiwany. Oczywiście css zaimplementowałem do svg. problem jest z html.
  1. $i='<a class="podpowiedz"
  2. title="Id miejsca='.$id_miejsce.' Numer rzędu='.$rzad.' Numer miejsca='.$miejsce.' "
  3. xlink:href=../../index.php?id=wyswietl_miejsce.php&id_miejsce='.$id_miejsce.'&rzad='.$rzad.'&miejsce='.$miejsce.' target="_blank">
  4. <span><img src="link.jpg" width="69px" height="69px"></span>
  5. <rect class="miejsce" id="id_miejsce.'.$id_miejsce.'" x="'.$x.'" y="'.$y.'" width="'.$szerokosc.'" height="'.$wysokosc.'" /></a>'. "\n"

bez zawartości znacznika <span> mapa się generuje. Ale co zrobić żeby wyświetlił się tooltip? Chyba idę w złą strone.
tak wygląda wygenerowana mapa do pliku z rozszerzeniem php
  1. <?xml version="1.0" encoding="UTF-8" standalone="no"?>
  2.  
  3.  
  4.  
  5. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  6.  
  7. </head>
  8.  
  9. <body>
  10.  
  11.  
  12. .miejsce
  13.  
  14. {
  15.  
  16. fill: red;
  17.  
  18. }
  19.  
  20. .miejsce:hover
  21.  
  22. {
  23.  
  24. opacity: 0.5;
  25.  
  26. }
  27.  
  28.  
  29. <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
  30.  
  31. width="3000" height="3000">
  32.  
  33. <g
  34.  
  35. inkscape:label="1"
  36.  
  37. inkscape:groupmode="layer"
  38.  
  39. id="1">
  40.  
  41. <a
  42.  
  43. title="Id miejsca=1 Numer rzędu=1 Numer miejsca=1 "
  44.  
  45. xlink:href=../../index.php?id=wyswietl_miejsce.php&id_miejsce=1&rzad=1&miejsce=1& target="_blank">
  46.  
  47. <rect class="miejsce" id="id_miejsce.1" x="547" y="13" width="10" height="10" /></a>
  48. <a
  49.  
  50. title="Id miejsca=2 Numer rzędu=1 Numer miejsca=2"
  51.  
  52. xlink:href=../../index.php?id=wyswietl_miejsce.php&id_miejsce=2&rzad=1&miejsce=2 target="_blank">
  53.  
  54. <rect class="miejsce" id="id_miejsce.2" x="534" y="13" width="10" height="10" /></a>
  55. <a
  56.  
  57. title="Id miejsca=3 Numer rzędu=1 Numer miejsca=3 "
  58.  
  59. xlink:href=../../index.php?id=wyswietl_miejsce.php&id_miejsce=3&rzad=1&miejsce=3 target="_blank">
  60.  
  61. <rect class="miejsce" id="id_miejsce.3" x="521" y="13" width="10" height="10" /></a>
  62. <a
  63.  
  64. title="Id miejsca=4 Numer rzędu=1 Numer miejsca=4 "
  65.  
  66. xlink:href=../../index.php?id=wyswietl_miejsce.php&id_miejsce=4&rzad=1&miejsce=4 target="_blank">
  67.  
  68. <rect class="miejsce" id="id_miejsce.4" x="508" y="13" width="10" height="10" /></a>
  69.  
  70.  
  71. </g>
  72.  
  73. </svg>
  74.  
  75. </body>
  76. </html>


2. można było wyszukać daną działkę. Tzn. mam na przykład wyszukiwarkę i wyszukuję danego miejsca w bazie i chciałbym je teraz odpowiednio oznaczyć na mapie svg. Zmienić kolor czy zaznaczyć kółkiem. Tego kompletnie nie wiem jak ruszyć, jakimi sposobami można to zrobić. Tak aby kilka osób mogło wyszukiwać takie miejsca równocześnie.

Za wszelkie podpowiedzi co do sposobu rozwiązania problemu - dziękuje
Pyton_000
1. http://iamceege.github.io/tooltipster/#demos
2. Robisz inputa który będzie wyszukiwał np. po title.
W JS robisz onchange i przeszukujesz kontener z mapkami pod kątem title. Jak znajdzie to ustalasz jakiś style lub class wcześniej czyszcząc dla wszystkich (żeby nie dodawały się kolejne)
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.