Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Staticmap od google i polskie znaki w linku
Forum PHP.pl > Forum > PHP
Szymon80
Witam.

chcę włądować na stronę prostą mapkę statyczną z pobieranym z bazy adresem w formie słownej, czyli np: "Warszawa, Plac zamkowy 10, PL "
Problem polega na tym że zmienne podają do linku do obrazka nazwy z polskimi ogonkami( jezeli występują), a mapy google nie akceptują tego w ogóle. W takim przypadku obrazek nie pokazuje się wcale.
Co dziwniejsze link zwykły działa poprawnie i bez problemów przekierowuje (oprócz IE), na google maps a pobiera te same dane z bd, czyli z ogonkami.
Na jakiejś stronie znalazłem funkcję do google maps która konwertuje polskie znaki na unicode, ale nie wiem dokładnie jak dołączyć ta funkcję do kodu aby nie popsuć ogólne go działania.

Kod wygląda jak poniżej.

  1. <?if (!empty($item[miasto]) || !empty($item[ulica]) || !empty($item[numer])) {
  2.  
  3. function konwertuj($tekst) {
  4. $win = array("ą","ć","ę","ł","ń","ó","ś","ź","ż", "Ą","Ć","Ę","Ł","Ń","Ó","Ś","Ź","Ż");
  5. $uni = array("ą","ć","ę","ł","ń","ó",
  6. "ś","ź","ż","Ą","Ć","Ę",
  7. "Ł","Ń","Ó","Ś","Ź","Ż");
  8. for ( $i=0; $i < count($win);$i++) $win[$i]="/".$win[$i]."/";
  9. $tekst = preg_replace($win, $uni, $tekst);
  10. return($tekst);
  11. }
  12.  
  13. ?>
  14. <div id="mapa" >
  15.  
  16. <a href="http://maps.google.com/?hl=pl&amp;zoom=18&amp;q=<?=$item[miasto]?>,<?=$item[ulica]?>+<?=$item[numer]?>,<?=$item[kraj]?>" >
  17.  
  18. <img src="http://maps.google.com/maps/api/staticmap?center=<?=$item[miasto]?>,<?=$item[ulica]?>+<?=$item[numer]?>,<?=$item[kraj]?>&amp;size=535x400&amp;zoom=16&amp;maptype=roadmap&amp;hl=pl&amp;markers=color:0xFF0000|<?=$item[miasto]?>,<?=$item[ulica]?>+<?=$item[numer]?>,<?=$item[kraj]?>&amp;sensor=false&amp;key=ABQIAAAAuD0y1vTuNZd4aszJXOV66RQWTnr1-H18Olr2pzJz2J6t-trvBBQnHVtcBxIUskzdvWzi430cAfA10A" title="google maps" alt="mapa google" /></a><br/>
  19.  
  20. </div>
  21. <?}?>


Jakoś trzeba połączyć to

  1. $item[miasto]


ze zmienną "$tekst" aby przerabiało znaki na czytelne dla google maps i przy tym nie uniemożliwiało pobierania danych z bd.

Sam próbowałem połączyć te zmienne ale nie szło mi.

Prosze o wskazówki.
wry
jesli masz kodowanie inne niz utf-8 wykonaj konwersje za pomoca iconv, pozniej urlencode zeby polskie znaki zamiec na encje
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.