SOBI2 – mapa Google, która zbiera lokalizacje wszystkich wpisów ( XML Eksport component)

/, Webdesign - html / php / js/SOBI2 – mapa Google, która zbiera lokalizacje wszystkich wpisów ( XML Eksport component)

SOBI2 – mapa Google, która zbiera lokalizacje wszystkich wpisów ( XML Eksport component)

2012-10-09T16:07:57+01:00 10 grudnia, 2010|Categories: Gotowe rozwiązania IT (porady, solucje), Webdesign - html / php / js|Tags: , , |

Ufff po ciężkiej pracy po nocy i paru piwach udało się stworzyć mapkę na stronie www.klubfitness.eu, która zaczytuje markery lokalizacji z pliku XML. Samo utworzenie mapy, która byłaby działająca zajęło ok. 2h, ale to głównie przez to, że to moja pierwsza przygoda z programowaniem w Google Maps Api. Okazuje się, że api pozwala na wczytanie markerów z pliku XML.

CO DAJE NAM KOMPONENT COM_SMAP?

Komponent COM_SMAP generuje plik XML który zawiera 4 dane:

  • NAZWA WPISU,
  • ID WPISU,
  • SZEROKOŚĆ GEOGRAFICZNA i
  • DŁUGOŚĆ GEOGRAFICZNA.

Jeśli mamy już odpowiednio spreparowanego XML’a jesteśmy w stanie zaimportować opisane w nim „markery” do mapy Google i wyświetlić na stronie. Oczywiście logicznym jest, że wpisy w Twoim katalogu Sobi2 muszą zawierać aktywne pola 'longitude’ i 'lattitude’ (poczytaj więcej np. tutaj ).

Pierwszy plik XML

przygotowałem ręcznie 🙂 zajęło mi to około godziny, przy czym cały czas myślałem jak „wyssać” te dane z bazy i wyeksportować do pliku XML.

Po dłuższej walce udało się. Stworzyłem plik PHP który zaczytywał dane z bazy i eksportował do XML’a.

Idąc dalej przygotowałem komponent do Joomla. Ma on jedną drobną wadę – zawsze pobiera dł. geogr i szerokosć z wartością FIELDID = 14 i 15  i aby to zmienić, musimy ręcznie grzebnąć w pliku PHP. W Twoim przypadku wartość ta może być inna (zależy kiedy utworzyłeś własne pola longitude i lattidude w Sobi2).

INSTALACJA KOMPONENTU, WYGENEROWANIE XML’A Z BAZY SOBI2

Może się okazać, że komponent zadziała od razu bez konieczności zmian.

Gdyby była jednak potrzeba wskazania innych wartości ID dla pól 'lat’ i 'lon’ robisz tak:

1. wchodzisz do swojej bazy przez PhpMyAdmin

2. znajdujesz tabelę _sobi2_fields_data

3. szukasz jakie FIELDID mają wartości długości geogr. i szerokości (u mnie jest to 14 i 15).

4. Wskakujemy po zainstalowaniu komponentu w COMPONENTS/COM_SMAP/smap.php i w okol. linijki 12 edytujemy wartości FIELDID na własne.

UWAGA! Pamiętaj aby dodać swój klucz API w pliku. Tutaj uzyskasz klucz API dla Twojej domeny: http://www.google.com/apis/maps/signup.html

Aby wygenerować XML wchodzimy w menu KOMPONENTY –> SMAP –> i klikamy w link do generacji XML’a. Ma on zazwyczaj postać twojadomena.pl/index.php?option=com_smap.

OK. Załóżmy,że XML dla Google Maps został wygenerowany i dostaliśmy pozytywną informację o tym fakcie. Kolejnym krokiem będzie stworzenie pliku PHP, który zaczytywałby te dane, parsował i dodawał odpowiednie markery z linkami do wpisów.

Mapa Google Maps zaczytująca markery z pliku XML

Aby nauczyć się prostego programowania w GMaps polecam stronę www.gmapsapi.com – świetne przykłady, napisane stosunkowo łatwym językiem.

Nie będę rozpisywał się jak przygotować taki plik, możesz go pobrać na samym dole tego artykułu.

Ważne aby znajdował się w głównym katalogu domeny np. www.mojadomena.pl/mapa.php

WYŚWIETLENIE PLIKU PHP MAPY JAKO „TREŚĆ” W JOOMLI

Aby pokazać go w joomli możemy skorzystać z dodatku RD ADD PHP : pobierz rd add php

Nie zapomnij opublikować dodatku (ROZSZERZENIA –> DODATKI –> RD ADD PHP –> publikuj).

Następnie wchodzimy np. w edycję frontu SOBI2 (ustawienia ogólne–>MAINPAGE) i piszemy:

{rdaddphp file=mapa.php} .

W tym momencie powinieneś zobaczyć mapę Google ze skolekcjonowanymi lokalizacjami wpisów w SOBI2.

Możesz też dodać ten kod w dowolnym artykule i po wejściu w niego powinieneś zobaczyć załadowany plik PHP w treści.

————————————————————-

PLIKI DO POBRANIA:

komponent SMAP do generowania pliku XML dla Mapy Google (instalujemy poprzez instalator joomla)

Uwaga! Do instalacji koniecznie należy włączyć Spuściznę (LEGACY)  . ROZSZERZENIA –> DODATKI –> SYSTEM-LEGACY )

com_smap

Mapa.php do prezentowania geolokalizacji wszystkich wpisów z Sobi2

(mapę rozpakowujemy i wrzucamy do głównego katalogu domeny, i wywołujemy np. domena.pl/mapa.php )

mapa Google Maps dla Sobi2

Facebook - komentarze