![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 116 Pomógł: 2 Dołączył: 19.02.2008 Ostrzeżenie: (50%) ![]() ![]() |
Mam problem i proszę o pomoc w rozwiązaniu.
Otóż w php pętlą wyświetlam adresy z mysql.Chcę do każdego adresu dodać mapkę poprzez geocoding w locie.Dodałem href w pętli do js a tam do właściwej zmiennej <? echo $mc; ?>. Owszem działa ale niezależnie,który href odpalić zawsze wyświetla mapkę ostatniej pozycji z pętli. Nie znam js ale przypuszczam,że problem jest prozaiczny. Pętla tak wygląda: while($wiersz = mysql_fetch_assoc($wynik)) { echo "<div style=\"background:yellow;margin:2px;\">"; echo "<div>{$wiersz['miejscowosc']}</div>"; echo "<div>{$wiersz['ulica']}</div>"; $mc=$wiersz['miejscowosc']; $ua=$wiersz['ulica']; echo "<a href=\"#\" onclick=\"mapaStart()\">Mapka</a>"; echo "</div>"; } A js tak: <div id='mapka'> <script type='text/javascript'> <!-- // zmienne globalne var geo; var mapa; function mapaStart() { if(GBrowserIsCompatible()) { mapa = new GMap2(document.getElementById('mapka'),{mapTypes: [G_NORMAL_MAP,G_SATELLITE_MAP,G_HYBRID_MAP]}); mapa.setCenter(new GLatLng(53.429805, 14.537883), 15); // kontrolki mapy mapa.addControl(new GLargeMapControl()); var typyMapy = mapa.getMapTypes(); typyMapy[0].getName= function() { return 'Mapa';} typyMapy[1].getName = function() { return 'Satelita';} typyMapy[2].getName = function() { return 'Hybryda';} mapa.addControl(new GMapTypeControl()); mapa.addControl(new GOverviewMapControl()); mapa.addControl(new GScaleControl()); // nowy obiekt do geokodowania geo = new GClientGeocoder(); var adres= '<? echo $mc; ?>'; geo.getLatLng(adres,function(punkt) { if (!punkt) { // jeśli punkt nie istnieje, to adres nie został znaleziony alert(adres + ' nie został znaleziony!'); } else { // centrujemy na znalezionym punkcie mapa.setCenter(punkt, 15); // dodajemy w tym miejscu marker var ikona = new GIcon(); ikona.image='http://maps.google.com/mapfiles/kml/pal3/icon52.png'; ikona.shadow=''; ikona.iconSize=new GSize(32,32); ikona.iconAnchor=new GPoint(16,16); ikona.infoWindowAnchor=new GPoint(16,16); var marker = new GMarker(punkt,{icon: ikona, title: adres}); mapa.addOverlay(marker); // i otwieramy dymek z adresem marker.openInfoWindowHtml('<strong>Poszukiwany adres</strong><br />'+adres); } }); } } --> </script> </div> |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 184 Pomógł: 13 Dołączył: 7.01.2008 Ostrzeżenie: (0%) ![]() ![]() |
logiczne, gdyż po zakończeniu pętli zmienna $mc ma ostatnią wartość jaką wyrzucila pętla.
Jedno rozwiązanie to takie, aby wartość zmiennej $ms przenieść do js jako argument funkcji mapaStart() onclick=\"mapaStart('<?=$zmienna?>')\ Ten post edytował windman 19.02.2008, 20:10:08 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 116 Pomógł: 2 Dołączył: 19.02.2008 Ostrzeżenie: (50%) ![]() ![]() |
Spróbuję ale co zmienić w js?
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 184 Pomógł: 13 Dołączył: 7.01.2008 Ostrzeżenie: (0%) ![]() ![]() |
funkcja powinna wyglądać tak
mapaStart(adres) /dodałem tylko argument adres z dalszej części skryptu wywal: var adres a linki wyświetlaj tak: echo "<a href=\"#\" onclick=\"mapaStart('<?=$twoja_zmienna?>')\">Mapka</a>"; powinno być oczywiście tak: echo "<a href=\"#\" onclick=\"mapaStart('$twoja_zmienna')\">Mapka</a>"; powinno działać Ten post edytował windman 19.02.2008, 20:16:11 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 116 Pomógł: 2 Dołączył: 19.02.2008 Ostrzeżenie: (50%) ![]() ![]() |
DZIAŁA!!! WINDMAN JESTEŚ GENIALNY.STOKROTNE DZIĘKI
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 02:31 |