Strona pokazująca markery na google maps z własnej bazy

0

Witam wszystkich serdecznie, to mój pierwszy post na tym forum.

Chciałbym zadać pytanie odnośnie apki webowej która pokazywałaby mapie (np. googleMaps) umieszczonej na stronie dane punkty geograficzne, które zawierałyby się w bazie danych. Niestety, wg tutoriali które znalazłęm w sieci te mapki działają na JavaScripcie i tylko tam można dodawać markery. Zrobiłem zatem już to w PHP w takiej formie, że w kodzie strony w miejscu skryptu JavaScript odpowiedzialnego za mapę i tworzenie markerów wrzuciłem kod skryptu PHP który pobiera punkty z bazy i wyrzuca "echo dodajMarker(....)". Dzięki temu to co mam w bazie wypluwane jest do kodu strony podczas pracy serwera PHP, wysyłane do usera i tam interpretowane przez przeglądarkę użytkownika. Działać, działa ale jest to strasznie prosto i prymitywnie zrobione...

Tutaj pojawia się moje pytanie - czy szanowni forumowicze znacie jakiś lepszy sposób który pozwoli mi uzyskać mój cel?
Z góry dziękuję za pomoc!

0

A może zrobisz np. tak że dane z bazy będzie pobierał tak jak do tej pory, ale zwracał je jako tablicę/obiekty w formacie json. Następnie javascript podczas uruchomienia pobrałby Ci te dane ajaxem i odpalił mapkę. Uniknąłbyś wtedy tego znienawidzonego przeze mnie echo :)

3

Ja jestem zwolennikiem robienia fallbacków oraz SEO.

Ja sobie taką listę prostych markerów na zasadzie "punkt + opis" zrobiłem o tak:

<div>
  Ple ple ple ple ple, tutaj jakiś tekst od klienta. Lorem ipsum itd. Ogólnie coś w rodzaju, że tutaj są "Nasi klienci".
  <div id="mapka"></div> <!-- tutaj się pojawia mapka jak jest JS -->
  <ul id="mapka_lista">
    <li data-latlng="43.156,18.33">Apteka "Pod Zielonym Smokiem"</li>
    <li data-latlng="42.345435,17.465">Serwerownia 4p</li>
    <li data-latlng="57.345,18.666">ZOO "Zoo" sp. z. o.o.</li>
    <li data-latlng="41.1,10.555">Stacja Paliw "dzek"</li>
  </ul>
</div>

W przypadku gdy brak jest JS - użytkownik widzi listę wypunktowaną z listą klientów tekstem.
W przypadku gdy jest JS - ładuję sobie dane z <ul> do tablicy. Samą <ul> usuwam, wywołuje mapkę i wypełniam ją punktami z tablicy.

Oprócz tego, że masz fajny fallback (czyli jest jakakolwiek treść, gdy nie ma JS, zamiast pustego pola czy coś), to jeszcze robi to ektra słowa na stronie, które mogą spowodować, że akurat ktoś odnajdzie naszą stronę po tych słowach.

0

Podejście @dzek69 jest świetne, bo możesz w js parsować dowolnie. Możesz także do tych danych dorzucić address oraz microformats żeby w kodzie strony mieć wszystkie dane adresowe, a w CSS usuwasz widoczność <address> a microformats sobie parsujesz w js do woli :) No i w moim podejściu nawet na przeglądarkach bez obsługi jS i bez CSS będzie widać adres jaki chcesz pokazać na mapie (a microformats to tylko znaczniki, wiec ich nie widać :) )

1 użytkowników online, w tym zalogowanych: 0, gości: 1