PDA

Zobacz pełną wersję : Adsmanager + gmap problem



p4w3k
25-07-2009, 10:11
Witam,

Joomla v1.0.15 i zainstalowany Adsmanager v2.5RC2 (http://joomlacode.org/gf/project/adsmanager/frs/?action=FrsReleaseView&release_id=10369) razem z pluginem Gmap. Wszystko chodzi bardzo elegancko, aczkolwiek mam problem z mapką google'a właśnie. Niby działa odpowiednio, jednak przy dodawaniu ogłoszenia, do bazy zapisuje mi szerokość i długość geograficzną jako wartości całkowite. Po prostu tak jakby zaokrąglał :/ Nie jest to dobre, ponieważ nie mogę ustawić miasta w Polsce, bo zawsze zaokrągla do całych wartości. Jak ręcznie zmieniłem w bazie współrzędne przy jednym ogłoszeniu, to wyświetliło elegancko. Nie mam po prostu pojęcia, dlaczego nie zapisuje wartości dziesiętnych do bazy, pola są typu text, powinno normalnie przyjmować :/ W załączniku załączam plugin gmap, może ktoś miał podobny problem?

Z góry dzięki za pomoc.
Paweł

Jola
26-07-2009, 00:10
Witam,
możesz spróbować dodać do każdego:
marker.getLatLng().lat() i marker.getLatLng().lng()

marker.getLatLng().lat().toFixed(4)
marker.getLatLng().lng().toFixed(4)na podstawie tego materiału (http://gmapsapi.com/poradnik/003_wyswietlanie_wspolrzednych_myszy.html)
Pozdrawiam

p4w3k
26-07-2009, 18:43
Witam,


Witam,
możesz spróbować dodać do każdego:
marker.getLatLng().lat() i marker.getLatLng().lng()
Cytat:
marker.getLatLng().lat().toFixed(4)
marker.getLatLng().lng().toFixed(4)
na podstawie tego materiału (http://gmapsapi.com/poradnik/003_wyswietlanie_wspolrzednych_myszy.html)
PozdrawiamNie pomogło mi, czy byłby Pan w stanie odpłatnie pomóc mi z poprawną obsługą tego? Włączyłem debug mode joomli i jakieś warningi wyskakują, myślę, że to może być problem.

Proszę o odpowiedź,
Paweł

Jola
26-07-2009, 19:38
Jako "Pan" Ci niestety nie pomogę. :)
Mogę, będąc we własnej skórze - zainstaluję i przyjrzę się temu.
Podaj jakie komunikaty pojawiają się u Ciebie.

p4w3k
26-07-2009, 20:19
Problem był z zapytaniem SQL, 59 linijka skryptu:

"WHERE fieldid = $field->fieldid AND contentid = $contentid";
zamieniłem na:


"WHERE fieldid = $field->fieldid AND contentid = 1";
Ponieważ, przy dodawaniu ogłoszenia, contentid jest nieokreślony i zapytanie było niepełne. Wyeliminowałem tym samym syntaxa w zapytaniu do bazy, ale skrypt nadal nie zapisuje wartości przecinkowych, wszystko jest typu integer :/

Byłbym wdzięczny za jakąkolwiek pomoc

Pozdrawiam,
Paweł

Jola
27-07-2009, 03:26
Zainstalowałam komponent i dodatek gmap - wszystko działa prawidłowo. Bez żadnej modyfikacji zapisuje lat i lng z dokładnością do 7 miejsc po przecinku. Trudno w tej sytuacji odpowiedzieć co jest przyczyną błędu, może jakiś włączony dodatek. Ja przynajmniej, bez dostępu do plików nie potrafię rozwiązać tego problemu.
Pozdrawiam

Jola
28-07-2009, 16:34
Witam,
wszystko działało prawidłowo na wersji 1.5.12, a w przypadku wersji 1.015 pojawiają się, opisane przez Pawła, kwiatki.
Problemem jest niepotrzebne przetwarzanie wartości lat i lng przez funkcję mosGetParam(). Rozwiązanie:
plik plug.php funkcja: onFormSave() (zapis lat lng uzytkownika) jest:

$lat = mosGetParam($_POST,"gmap_lat$fieldid",0);
$lng = mosGetParam($_POST,"gmap_lng$fieldid",0);zamienić na:

$a = "gmap_lat".$fieldid;
$b = "gmap_lng".$fieldid;
$lat = $_POST[$a];
$lng = $_POST[$b];funkcja saveFieldOptions() (zapis konfiguracji) jest:

$gmap_lat = mosGetParam($_POST,"gmap_lat",0);
$gmap_lng = mosGetParam($_POST,"gmap_lng",0);zamienić na:

$gmap_lat = $_POST["gmap_lat"];
$gmap_lng = $_POST["gmap_lng"];U mnie działa.
Pozdrawiam