Mam dosyć deprymujący problem. W swoim programie, wykorzystuje google maps. Chciałem wyrzucić na jednej mapie tyle znaczków przystanków, ile mam w bazie danych.
Dane, wyciągam za pomocą php w zdefiniowanej funkcji...
function all_stop_for_gmap() { $x=0; { $x++; $ret.=' var info'.$x.' = "<font>'.$row['stop_name'].'</font>"; var point'.$x.' = new GLatLng('.$coords[0].','.$coords[1].'); var marker'.$x.' = new GMarker(point'.$x.'); GEvent.addListener(marker'.$x.', "click", function() { marker'.$x.'.openInfoWindowHtml(info'.$x.'); }); map.addOverlay(marker'.$x.'); '; } return $ret; }
a teraz, chce to włożyć w skrypcik google maps.
function load() { if (GBrowserIsCompatible()) { var map = new GMap2(document.getElementById("map")); map.addControl(new GSmallZoomControl()); map.setCenter(new GLatLng(31.13494, 24.844447), 14); map.enableContinuousZoom(); map.enableDoubleClickZoom(); var info = "<font style='color:#ff0033'>Przyklad 11a</font>"; var point = new GLatLng(31.164294, 20.8477827); var marker = new GMarker(point); GEvent.addListener(marker, "click", function() { marker.openInfoWindowHtml(info); }); map.addOverlay(marker); /* tutaj zwracam wynik tamtej funkcji*/ } }
Niestety, mapa wysypuje się, jeśli próbuje zrobić to poprzez php, natomiast gdy wyprintuje sobie wynik funkcji, skopiuje go i wkleje w to miejsce które zaznaczyłem w kodzie gmaps - pięknie działa.
Czy ktoś ma pomysł, w jaki sposób mogę to przekazać ?
próbowałem poprzez np
<? $stops=function all_stop_for_gmap(); ?> <script> (...) </script>
Późniejszy document.write tej zmiennej js nic nie daje - wysypuje mapę. Męczę się i męczę ... lotny z JS nie jestem niestety.
Proszę o pomoc...