(Unless otherwise stated, the copyright of the materials included belong to Jan Woreczko & Wadi.)
Szablon:GEMap-MyWiki/TemplateDoc
Z Wiki.Meteoritica.pl
W listopadzie 2013 roku firma Google zmieniła zasady obsługi apletu (Google Maps JavaScript API v2) odpowiedzialnego za wyświetlanie map na stronach innych użytkowników (zaczęto wprowadzać aplet w wersji Google Maps JavaScript API v3).
Skrypty i parametry rozszerzenia Mediawiki: Extension:Google Maps (składnia), używane dotychczas na portalu (sterujące wyświetlaniem map) są ignorowane lub nie działają poprawnie.
Jak przystało na monopolistę, firma Google nie poczuwała się do zachowania kompatybilności w dół. W październiku 2018 roku zaprzestano ostatecznie wspierać wersję v2. Wprowadzono również opłaty za korzystanie z nowego apletu Google Maps JavaScript API v3!
W wyniku tych działań rozszerzenie Extension:Google Maps (Szablon:GEMap) przestało działać. W związku z tym, do czasu zaimplementowania nowego apletu Mediawiki, stworzyliśmy nowy szablon {{GEMap-MyWiki}} pozwalający na poprawne wyświetlanie map.
Szablon {{GEMap-MyWiki}}
Napisaliśmy krótki skrypt w języku JavaScript, który korzystając z funkcji nowego apletu Google Maps JavaScript API v3, pozwala poprawnie wyświetla mapy Google. Jak na razie udało się uniknąć opłat! ☺
Składnia:
{{GEMap-MyWiki | htmlFileMap = {{{htmlFileMap | wiki-test.htm}}} | width = {{{width | {{GEFrame-dfltWidth}} }}} | height = {{{height | {{GEFrame-dfltHeight}} }}} }}
Parametry:
- nazwa zewnętrznej strony html z definicją mapy; adres URL serwera w definicji szablonu
- szerokość ramki (w pikselach; default {{GEFrame-dfltWidth}} = 450)
- wysokość ramki (w pikselach; default {{GEFrame-dfltHeight}} = 360)
- styl ramki (.GoogleIFrameMap) zdefiniowano w MediaWiki:Common.css
Szablon ten włącza do wikikodu fragment HTMLa, składający się z ramki <iframe ...></iframe>. Zawartość ramki jest zdefiniowana w zewnętrznym pliku *.html uruchamiającym skrypt generujący mapę Googla.
Dla poprawnego działania skryptu należy w pliku konfiguracyjnym LocalSettings.php (niestety ☻) włączyć zmienną $wgRawHtml = true!
Zobacz również
- Szablon:GEMap
- szablony: GEFrame-dfltWidth i GEFrame-dfltHeight