PDA

Zobacz pełną wersję : SOBI 2 template with Google Maps



Puri
06-10-2008, 14:23
Witam,
pracuje z Joomla. 1.5.7 oraz SOBI2 RC 2.9.0 i mam od dawna nastepujace dwa problemy:

1. w jednej linijce wyswietla mi sie osoba kontaktowa oraz czesc ulicy :( zobacz (http://www.nasz-berlin.com/index.php?option=com_sobi2&sobi2Task=sobi2Details&catid=3&sobi2Id=2&Itemid=73)
2. próbuje zainstalowac Template 2 (Standard template with Google Maps on the top) z strony http://www.sigsiu.net/download/templates/ ALE Mapy google nie pokazuje w opisie szczegółowym, tak jak jest przy tym template pokazane zobacz (http://www.sigsiu.net/download/templates/template_2.html) :(
Wymienilem po sciagnieciu plik na server w: ( /components/com_sobi2/templates/default/sobi2.vc.tmpl.php), API Key tez jest wpisany, jak klikne na ZOBACZ NA MAPIE to funkcionuje ale w opisie szczegółowym nie pokazuje wycinku mapy google....

Thx z gory za pomoc !

neo_fox
06-10-2008, 16:14
1. w jednej linijce wyswietla mi sie osoba kontaktowa oraz czesc ulicy :( zobacz (http://www.nasz-berlin.com/index.php?option=com_sobi2&sobi2Task=sobi2Details&catid=3&sobi2Id=2&Itemid=73)


No patrze i nie widzę :eek:



Mapy google nie pokazuje w opisie szczegółowym, tak jak jest przy tym template pokazane zobacz (http://www.sigsiu.net/download/templates/template_2.html) :(

A koordynaty geograficzne i ich konfiguracje masz?
http://www.sigsiu.net/faq/how_to_use_google_maps.html
albo:
http://tinyurl.com/4yl59h

Puri
07-10-2008, 15:37
Dzieki. juz sie zabieram za realizacje!

Puri
28-10-2008, 13:56
Witam... Brain community of Joomla
zrobilem jak kazano oraz napisano i nadal nie wyswietla mi mapy google w Template SOBI2.... Zrobilem nastepujace kroki:
1. Wpisalem aktywny Google API Key, zrobilem konfiguracje:
http://www.nasz-berlin.com/bilder/a1.jpg
2. Dodalem 2 nowe pola dla dlugosci i szerokosci graficznej:
http://www.nasz-berlin.com/bilder/a2.jpg

Odczyt wspolrzednych wg adresu:

4. Sprawdzamy:
- Klucz API Google JEST!
- Pola geograficzne field_longitude, field_latitude JEST!
- Definicja pol geo. w zakladce Google Maps w SOBIE2 JEST!
- Pola _postcode, _city, _street, _contry + NOWE "tekst kodu" JEST!
5. W nowym polu field_fetch typu "text code"
http://www.nasz-berlin.com/bilder/a3.jpg
wstawilem odpowiedni skrypt z http://tinyurl.com/4yl59h

6. Sciaglem Template 2 (Standard template with Google Maps on the top) z http://www.sigsiu.net/download/templates/
i skopiowalem plik sobi2.details.tmpl.php
do foldera: .../components/com_sobi2/templates/default a stary nazwalem sobi2.details.tmpl.php.old

z tego co wyczytalem to wszystko.... ale nadal nie widze wycinak mapy google wg wpisanego adresu !! ?? !! ?? :mad:

DZIEKUJE Z GORY ZA POMOC / POZDRAWIAM...


Puri. (www.nasz-berlin.com (http://www.nasz-berlin.com))

neo_fox
28-10-2008, 14:37
A widzę że sobie pięknie przetłumaczyłeś kod JavaScript i wkleiłeś obie wersje do edytora i teraz jak wchodzę na twoją stronę do formularza to od razu z buta:



Error: missing ; before statement
Source File: http://www.nasz-berlin.com/index.php?option=com_sobi2&sobi2Task=addNew&Itemid=73
Line: 850, Column: 43
Source Code:
var postalCodeField = 'field_postcode' ; postalCodeField var = 'field_postcode ";


ale poza tym także:


Error: this.$events[type].keys is undefined
Source File: http://www.nasz-berlin.com/templates/templatka11/js/mootools1_1.js
Line: 49


Nota bene chyba ma deja vu: http://forum.joomla.pl/showthread.php?t=22632#post91850 :eek:

Puri
28-10-2008, 16:00
A widzę że sobie pięknie przetłumaczyłeś kod JavaScript i wkleiłeś obie wersje do edytora = NIC NIE ROZUMIEM :confused:
i teraz jak wchodzę na twoją stronę do formularza to od razu z buta:
http://www.nasz-berlin.com/index.php?option=com_sobi2&sobi2Task=addNew&Itemid=73
(http://www.nasz-berlin.com/index.php?option=com_sobi2&sobi2Task=addNew&Itemid=73)U MNIE W FIREFOX 3 NIE MA ZADNEGO BLEDU.... ?!?!?!?!
ale poza tym także:
http://www.nasz-berlin.com/templates/templatka11/js/mootools1_1.js
a to co za link ???

neo_fox (http://forum.joomla.pl/member.php?u=2688) ja juz nic nie rozumiem..... :mad:

neo_fox
28-10-2008, 16:23
A widzę że sobie pięknie przetłumaczyłeś kod JavaScript i wkleiłeś obie wersje do edytora = NIC NIE ROZUMIEM :confused:


Zobacz sobie kod który wkleiłeś menadżerze pól.
Nie zastanowiło cię że masz dwa przyciski do pobierania koordynatów?



U MNIE W FIREFOX 3 NIE MA ZADNEGO BLEDU.... ?!?!?!?!


Powiadasz:
http://informatyka.suski.eu/temp/nasz-berlin.com.png

Puri
29-10-2008, 13:54
...zrobilem tak jak pisalo, tzn jak to zrozumialem... hmmm...
...nadal nie wiem co mam zmienic zeby mapki smigaly na templates z SOBI2...

:( dzieki, pa.

neo_fox
29-10-2008, 14:00
no właśnie że nie zrobiłeś ;)

kowalski_michal
24-02-2009, 21:48
Witajcie - u mnie wystapil ten sam problem.. nie tyle z mapa - z nia sobie poradzilem.. co z opisem.

wyswietla mi sie to w ten sposob.:

Przykladowa (http://www.korex.net.pl/katalog-firm/9.html) krakowska

32-500 chrzanów
chrzanowski
małopolskie Polska
Strona Internetowa (http://www.www.pl/)

najpierw nazwa + ulica
ponizej dane..

prosze o pomoc

Puri
02-03-2009, 08:48
Siema Michal,

ja do dzis nie rozwiazalem obu problemow! Jak widzisz w odpowiedziach nikt nie napisal konkretnej pomocy :(

Dlugos i szerokos geograficzna wpisuje recznie :(

A Adres nadal wyswietla sie jak mu sie podoba :(

WIEC TO JA BYL BYM ZOBOWIAZANY GDY OTRZYMASZ KONKRETNA POMOC ZA PRZEKAZANIE JA TUTAJ DALEJ !

Pozdrawiam - Puri.

grzmar
23-03-2009, 15:42
Podpinam się pod temat..
Może tu ktoś pomoże..

mam joomle 1.0.15 i sobi 2
i za cholere nie potrafie skonfigurować google maps..
korzystałem z porad siugsiu.net ,
i zrobiłem wszystko co jest tam napisane, lecz nadal mapy nie działają...
wszystko czyli , przypisany API klucz google
2 pola field_.. dla dlugosci i szerokosci
ustaione na input..
i dalej nie pojmuje.. prosze o pomoc.. neo_fox..

pozdrawiam gm

Puri
23-03-2009, 15:56
Ja do dzis tego nie rozgryzlem !!!

Wpisuje dlugosc i szerokosc do kazdego wpisu recznie...

Pozdr - Puri. :confused:

lagren
28-03-2009, 17:20
Wyswietlanie mapy w opsie szczegolwym bez wpisywania recznie koordynatow.

U mnie dziala wg :

Step 1

Goto - Configuration - Custom Fields Manager
Create a Custom field called 'field_longitude' without the quotes
Fileld Label = Longitude
Field Type = Inputbox
Click Save

Step 2

Create a Custom Field called 'field_latitude' without the quotes
Fileld Label = Latitude
Field Type = Inputbox
Click Save

Step 3

Make sure all of the following fields exist...If not recreate them....I deleted Country when I first set this up...The fetch failed until I put it back....

field for post code 'field_postcode' type = inputbox
field for city 'field_city' type = inputbox
field for street 'field_street' type = inputbox
field for country 'field_country' type = inputbox

Step 4
Create a new field type "text code" (formerly called custom code)
Cut and paste the script from this link into the code box

skrypt:

<script type="text/javascript" language="JavaScript">
/* adjust here the field names if they are not correct */
var apiKey = "{googleApiKey}";
var postalCodeField = 'field_postcode';
var cityField = 'field_city';
var streetField = 'field_street';
var countryField = 'field_country';
var latitudeField = 'field_latitude';
var longitudeField = 'field_longitude';

function fetchCoordinates() {
/* here you should not change anything */
var gRequest = null;
var postalcode = document.getElementById(postalCodeField).value;
var city = document.getElementById(cityField).value;
var street = document.getElementById(streetField).value;
var country = document.getElementById(countryField).value;

if(postalcode == '' || city == '' || street == '' || country == '' ) {
/* you can change the error message here */
alert("Proszę wypełnić pola adresowe");
}
else {
var gRequest = "http://maps.google.com/maps/geo?q=" +street+ "+" +postalcode+ "+" +city+ "+" +country+ "&callback=getCoordinates&output=JSON&key="+apiKey;
var scriptObj = document.createElement("script");
scriptObj.setAttribute("type", "text/javascript");
scriptObj.setAttribute("src", gRequest);
document.getElementsByTagName("head").item(0).appendChild(scriptObj);
}
}
function getCoordinates(data) {
switch(data.Status.code) {
case 610:
/* you can change the error message here */
alert("Api key nieprawidłowy: {googleApiKey}");
break;
case 603:
case 602:
case 601:
case 500:
/* you can change the error message here */
alert("Nie można pobrać koordynatów geograficznych dla tego adresu");
break;
case 200:
document.getElementById(latitudeField).value = data.Placemark[0].Point.coordinates[1];
document.getElementById(longitudeField).value = data.Placemark[0].Point.coordinates[0];
break;
}
}
***********
<!-- You can change the "value" (The label on the button) here -->
<input type="button" class="button" onclick="fetchCoordinates();" value="Pobierz automatycznie koordynaty geograficzne do GoogleMaps"/>


Step 5
Goto "View Configuration" - "Google Maps"

Step 6

Enter your google maps API

Step 7

Check the box to show google maps.
Set "Map Latitude Field" to field_latitude
Set "Map Longitude Field" to field_longitude

Step 8 - Testing

Pozostaje konfiguracja (nazwy pol, ukrys szer dl w opisie szczegolwym etc)

Puri
30-03-2009, 09:44
Witam,

zrobilem jak napisales ale jeszcze gdzies w tym diabel siedzi, bo JUZ :) pokazuje w formularzu "Dodaj wpis" nazwe " Pobierz koordynaty..." ale NIE MA FUNKCJI BUTTON :confused: tylko martwy tekst...

zobacz tutaj (http://www.nasz-berlin.com/index.php?option=com_sobi2&sobi2Task=addNew&Itemid=73)

Dziekuje i pozdrawiam.

lagren
30-03-2009, 09:58
www.techpolis.pl > baza firm (www w trakcie budowy). Mozesz zobaczyc jak to wyglada, jesli zrobilem wg w/w krokow. posprawdzaj wszystko jeszcze raz ... jak nie pojdzie to pomyslimy .... jak wroce z pracy :)

btw: zalogowalem sie u ciebie ... no i rzeczywiscie wcielo przyciski. (może skrypt nie przekopiowales caly?)

Puri
30-03-2009, 13:54
Hej Lagren,

raczej zrobilem wszystko 100% wedlug instrukcji i chyba juz z 5 razy sprawdzilem wszystko... Tak u mnie to wyglada w BACKEND SCREENSHOT (http://www.nasz-berlin.com/images/google_maps.jpg)

A code jest ten (kopia 1:1):

<script type="text/javascript" language="JavaScript">
/* adjust here the field names if they are not correct */
var apiKey = "{googleApiKey}";
var postalCodeField = 'field_postcode';
var cityField = 'field_city';
var streetField = 'field_street';
var countryField = 'field_country';
var latitudeField = 'field_latitude';
var longitudeField = 'field_longitude';

function fetchCoordinates() {
/* here you should not change anything */
var gRequest = null;
var postalcode = document.getElementById(postalCodeField).value;
var city = document.getElementById(cityField).value;
var street = document.getElementById(streetField).value;
var country = document.getElementById(countryField).value;

if(postalcode == '' || city == '' || street == '' || country == '' ) {
/* you can change the error message here */
alert("Proszę wypełnić pola adresowe");
}
else {
var gRequest = "http://maps.google.com/maps/geo?q=" +street+ "+" +postalcode+ "+" +city+ "+" +country+ "&callback=getCoordinates&output=JSON&key="+apiKey ;
var scriptObj = document.createElement("script");
scriptObj.setAttribute("type", "text/javascript");
scriptObj.setAttribute("src", gRequest);
document.getElementsByTagName("head").item(0).appe ndChild(scriptObj);
}
}
function getCoordinates(data) {
switch(data.Status.code) {
case 610:
/* you can change the error message here */
alert("Api key nieprawidłowy: {googleApiKey}");
break;
case 603:
case 602:
case 601:
case 500:
/* you can change the error message here */
alert("Nie można pobrać koordynatów geograficznych dla tego adresu");
break;
case 200:
document.getElementById(latitudeField).value = data.Placemark[0].Point.coordinates[1];
document.getElementById(longitudeField).value = data.Placemark[0].Point.coordinates[0];
break;
}
}
***********
<!-- You can change the "value" (The label on the button) here -->
<input type="button" class="button" onclick="fetchCoordinates();" value="Pobierz automatycznie koordynaty geograficzne do GoogleMaps"/>

...wiec juz naprawde sam nie wiem :confused:

DZiekuje za poswiecony czas i pozdrawiam z Berlina - Puri.

lagren
30-03-2009, 14:33
Widze tylko roznice w polach dlugosci i szerokosci. Masz wlaczone pole administracyjne na TAK, ja mam na NIE. Nie sadze, zeby to bylo to.
Reszte mam tak samo.
joomla 1.5.9, sobi2 RC 2.9.1.0.

grzmar
30-03-2009, 15:03
niestety.. mi też się nie udało..
zrobiłem wszystko co było opisane w poście lagren'a..
jedyne czego nie wiem... to jak nazwac pole z text code
moze dlatego cos nie dziala..

Pozdrawiam i dziękuje za wskazówki

dyli
14-05-2009, 12:01
Wyswietlanie mapy w opsie szczegolwym bez wpisywania recznie koordynatow.

U mnie dziala wg :

Step 1

Goto - Configuration - Custom Fields Manager
Create a Custom field called 'field_longitude' without the quotes
Fileld Label = Longitude
Field Type = Inputbox
Click Save

Step 2

Create a Custom Field called 'field_latitude' without the quotes
Fileld Label = Latitude
Field Type = Inputbox
Click Save

Step 3

Make sure all of the following fields exist...If not recreate them....I deleted Country when I first set this up...The fetch failed until I put it back....

field for post code 'field_postcode' type = inputbox
field for city 'field_city' type = inputbox
field for street 'field_street' type = inputbox
field for country 'field_country' type = inputbox

Step 4
Create a new field type "text code" (formerly called custom code)
Cut and paste the script from this link into the code box

skrypt:

<script type="text/javascript" language="JavaScript">
/* adjust here the field names if they are not correct */
var apiKey = "{googleApiKey}";
var postalCodeField = 'field_postcode';
var cityField = 'field_city';
var streetField = 'field_street';
var countryField = 'field_country';
var latitudeField = 'field_latitude';
var longitudeField = 'field_longitude';

function fetchCoordinates() {
/* here you should not change anything */
var gRequest = null;
var postalcode = document.getElementById(postalCodeField).value;
var city = document.getElementById(cityField).value;
var street = document.getElementById(streetField).value;
var country = document.getElementById(countryField).value;

if(postalcode == '' || city == '' || street == '' || country == '' ) {
/* you can change the error message here */
alert("Proszę wypełnić pola adresowe");
}
else {
var gRequest = "http://maps.google.com/maps/geo?q=" +street+ "+" +postalcode+ "+" +city+ "+" +country+ "&callback=getCoordinates&output=JSON&key="+apiKey;
var scriptObj = document.createElement("script");
scriptObj.setAttribute("type", "text/javascript");
scriptObj.setAttribute("src", gRequest);
document.getElementsByTagName("head").item(0).appendChild(scriptObj);
}
}
function getCoordinates(data) {
switch(data.Status.code) {
case 610:
/* you can change the error message here */
alert("Api key nieprawidłowy: {googleApiKey}");
break;
case 603:
case 602:
case 601:
case 500:
/* you can change the error message here */
alert("Nie można pobrać koordynatów geograficznych dla tego adresu");
break;
case 200:
document.getElementById(latitudeField).value = data.Placemark[0].Point.coordinates[1];
document.getElementById(longitudeField).value = data.Placemark[0].Point.coordinates[0];
break;
}
}
***********
<!-- You can change the "value" (The label on the button) here -->
<input type="button" class="button" onclick="fetchCoordinates();" value="Pobierz automatycznie koordynaty geograficzne do GoogleMaps"/>


Step 5
Goto "View Configuration" - "Google Maps"

Step 6

Enter your google maps API

Step 7

Check the box to show google maps.
Set "Map Latitude Field" to field_latitude
Set "Map Longitude Field" to field_longitude

Step 8 - Testing

Pozostaje konfiguracja (nazwy pol, ukrys szer dl w opisie szczegolwym etc)

Znalazłem chyba rozwiązanie problemu:
Pierwsza rzecz to: *********** , zamiast nich powinno być < / s c r i p t > bez spacji, bo przy pisaniu posta forum zamienia na gwiazdki

Drugi błąd to linijka: document.getElementsByTagName("head").item(0).appe ndChild(scriptObj);

przy kopiowaniu powstaje spacja między appe nChild(scriptObj);

a musi być razem: appenChild(scriptObj);

po zmianie tych 2 rzeczy zaczęło działać, chociaż znalazłem małą ułomność tego rozwiązania.

tix
01-11-2009, 14:48
Ok, a ja ciagle widze napis z linkiem do mapy "Zobacz na mapie" zamiast mapy :/ Moze cos w szablonie trzeba zmienic? Jakies porady?

betoven
02-11-2009, 17:16
Witam;
Czy istnieje możliwość uzyskania takiego efektu w sobi2 jak ma np Zumi? czyli w polu miasta wpisuję nazwę miejscowości i po pierwszej literce pole sugeruje ciąg dalszy nazwy czyli wpisuję By... a pole próbuje dokończyć wyraz Bydgoszcz.

tix
06-11-2009, 00:41
Czy ktos mi pomoze?

tix
09-11-2009, 00:22
Wspaniala Jola znow uraczyla mnie swoja madroscia :)
Dzięki

tomputer
27-11-2009, 16:43
Ja mam jedno podstawowe pytanie jakie mają byc ustawienia dla pól latitude i longitude
czy mają byc opublikowane, czy ukryte i czy jako pola administracyjne.

Jola
28-11-2009, 01:31
Witam,
Opublikowane
Ukryte (jak chcesz wyświetlić wartości to zaznacz gdzie)
Pole administracyjne: Nie

m1chul
28-11-2009, 11:17
Witam
Ma ktoś problem z ApiKey ? mam wpisany poprawny w sobi2 do niedawna to jeszcze działało a teraz jak chce dodac nowa mapę wyskakuje mi że Apikey jest niepoprawny a jest poprawny :)
Google coś namieszało ?

Jola
28-11-2009, 21:00
ApiKey jest przypisywany do adresu witryny,
dla Google
moja_strona.pl i
www.moja_strona.pl
to dwie różne witryny! :)

m1chul
28-11-2009, 21:53
Mapa działa jesli wpisze sie koordynaty recznie a nie da sie pobrac ich przy wypelnianiu formularza, API jest wiec poprawny a cos sie stalo przy wysylaniu zapytania. Google zmienilo polityke ? chyba ze musze uaktualnic sobi do nowszej wersji.

Jola
28-11-2009, 21:57
Czyli problem dotyczy samego formularza i akcji: Pobierz koordynaty?

m1chul
29-11-2009, 00:27
Dokładnie, gdy chcę pobrać koordynaty wyskakuje błąd APIKEY

Jola
29-11-2009, 00:56
Sprawdź w podglądzie źródła strony czy ApiKey jest prawidłowo przekazywany do skryptu (strona z formularzem)

egon170
03-12-2009, 09:55
Niestety wydaje mi się że jest to problem po stronie SOBI - miałem działające pobieranie koordynat na 2 poralach a od kilku dni na żadnym nie działa !
Api nie może być wpisane źle, bo przy "normalnej mapie działa" wyświetla stare wpisy ale nie można pobrać nowych koordynat Może ktoś zna przyczynę ?
Może ktoś rozwiązał problem ?

Jola
03-12-2009, 17:48
Witam,
@egon170 - możesz podać adres strony?

daruuu
04-12-2009, 21:07
Witam!
Mam ten sam problem - po zaktualizowaniu sobi2 pojawił się problem z pobieraniem koordynatów... pomimo poprawnego apikey pojawia się błąd

apikey jest poprawny ponieważ mapy w starych wpisach działają poprawnie.

Myślę, że problem leży po stronie Sobi2 lub Google zmieniło politykę dotyczącą pobierania współrzędnych - może ktoś znalazł już rozwiązanie?

daruuu
23-12-2009, 14:07
Rozwiązanie problemu:

w skrycie pobierającym koordynaty należy zamienić kod:


var gRequest = "http://maps.google.com/maps/geo?q=" +street+ "+" +postalcode+ "+" +city+ "+" +country+ "&callback=getCoordinates&output=JSON&key="+apiKey;na:


var gRequest = "http://maps.google.com/maps/geo?q=" +street+ "+" +postalcode+ "+" +city+ "+" +country+ "&output=json&key="+apiKey+"&callback=getCoordinates";

kiprafon
28-12-2009, 22:12
Ten sam problem, zmiana w kodzie pobierającym koordynaty nie pomogła. Jeszcze 2 miesiące temu wszystko działało.

Thorn
01-04-2010, 13:05
I ktos rozwiązał ten problem ? bo nawet nie chce się utworzyć
field_fetch_coordinates

czyli pole gdzie jest skrypt :



<script type="text/javascript" language="JavaScript">
/* adjust here the field names if they are not correct */
var apiKey = "{googleApiKey}";
var postalCodeField = 'field_postcode';
var cityField = 'field_city';
var streetField = 'field_street';
var countryField = 'field_country';
var latitudeField = 'field_latitude';
var longitudeField = 'field_longitude';

function fetchCoordinates() {
/* here you should not change anything */
var gRequest = null;
var postalcode = document.getElementById(postalCodeField).value;
var city = document.getElementById(cityField).value;
var street = document.getElementById(streetField).value;
var country = document.getElementById(countryField).value;

if(postalcode == '' || city == '' || street == '' || country == '' ) {
/* you can change the error message here */
alert("Please fill in the address fields first");
}
else {
var gRequest = "http://maps.google.com/maps/geo?q=" +street+ "+" +postalcode+ "+" +city+ "+" +country+ "&output=json&key="+apiKey+"&callback=getCoordinates";
var scriptObj = document.createElement("script");
scriptObj.setAttribute("type", "text/javascript");
scriptObj.setAttribute("src", gRequest);
document.getElementsByTagName("head").item(0).appendChild(scriptObj);
}
}
function getCoordinates(data) {
switch(data.Status.code) {
case 610:
/* you can change the error message here */
alert("Api key not valid: {googleApiKey}");
break;
case 603:
case 602:
case 601:
case 500:
/* you can change the error message here */
alert("Cannot get coordinates for this address");
break;
case 200:
document.getElementById(latitudeField).value = data.Placemark[0].Point.coordinates[1];
document.getElementById(longitudeField).value = data.Placemark[0].Point.coordinates[0];
break;
}
}
</script>
<!-- You can change the "value" (The label on the button) here -->
<input type="button" class="button" onclick="fetchCoordinates();" value="Fetch Coordinates"/>


totalna beznadzieja męczę sie z tym już 2 dni i nic.

text code nie przyjmuje mi wpisać całego skryptu mówi ze wystąpił błąd jak zapisuje.

POMOCY

ar4
11-06-2010, 00:07
Może ktoś opisać te kroki po polsku, mój angielski nie jest najlepszy, a tam wszystko zostało posiane po angielsku.

ar4
12-06-2010, 16:01
Poradziłem sobie z tym całym tekstem ale podłączam się do problemu kolegi. Podczas próby zapisania pliku wyskakuje błąd "Błąd wewnętrzny, spróbuj ponownie". Znalazł już ktoś rozwiązanie na zaistniały problem?

freeJoomla
27-08-2010, 13:43
możesz dodać kod przez bazę danych sprawdź jaka tabela sobi2 przechowuje właściwości pól i analogicznie spróbuj dodać przez phpmyadmin

ar4
27-08-2010, 18:13
TO jest dla mnie za trudne. Nie znam się na bazach danych tak dobrze, aby grzebać w nich.

freeJoomla
27-08-2010, 18:15
a potrafisz wejść do phpmyadmin ? jak tak to napisze co trzeba zrobić dokładniej

ar4
27-08-2010, 18:33
No takie podstawowe rzeczy to potrafię. Grzebać w kodzie potrafię, edytować, wyciągać tabele z bazy, przenosić bazy na inne serwery, ale nic co jest związane z zadawaniem konkretnych zapytań do bazy. Jak możesz to proszę o opis.

freeJoomla
27-08-2010, 19:07
1.wejdź na zaplecze do swojej Joomli, przejdź do komponentu Sobi2, Konfiguracja -> Menadżer pól następnie, zapamiętaj ID pola do którego chcesz skopiować kod Javascript (ostania kolumna),
2.następnie wejdź do PHPMyAdmin, wybierz swoją bazę danych, w tej bazie musisz odnaleźć tabelę jos_sobi2_fields (jos_ - jak masz domyślny prefix), wyświetl rekordy znajdujące się w niej,
3.następnie znajdź rekord (wiersz), gdzie w kolumnie fieldid (pierwsza kolumna)jest wpisane ID (to z zaplecza), następnie edytuj ten wiersz (klik na ołówek) i w polu fieldDescription wklej kod javascript


<script type="text/javascript" language="JavaScript">
/* adjust here the field names if they are not correct */
var apiKey = "{googleApiKey}";
var postalCodeField = 'field_postcode';
var cityField = 'field_city';
var streetField = 'field_street';
var countryField = 'field_country';
var latitudeField = 'field_latitude';
var longitudeField = 'field_longitude';

function fetchCoordinates() {
/* here you should not change anything */
var gRequest = null;
var postalcode = document.getElementById(postalCodeField).value;
var city = document.getElementById(cityField).value;
var street = document.getElementById(streetField).value;
var country = document.getElementById(countryField).value;

if(postalcode == '' || city == '' || street == '' || country == '' ) {
/* you can change the error message here */
alert("Proszę wypełnić pola adresowe");
}
else {
var gRequest = "http://maps.google.com/maps/geo?q=" +street+ "+" +postalcode+ "+" +city+ "+" +country+ "&output=json&key="+apiKey+"&callback=getCoordinates";
var scriptObj = document.createElement("script");
scriptObj.setAttribute("type", "text/javascript");
scriptObj.setAttribute("src", gRequest);
document.getElementsByTagName("head").item(0).appendChild(scriptObj);
}
}
function getCoordinates(data) {
switch(data.Status.code) {
case 610:
/* you can change the error message here */
alert("Api key nieprawidłowy: {googleApiKey}");
break;
case 603:
case 602:
case 601:
case 500:
/* you can change the error message here */
alert("Nie można pobrać koordynatów geograficznych dla tego adresu");
break;
case 200:
document.getElementById(latitudeField).value = data.Placemark[0].Point.coordinates[1];
document.getElementById(longitudeField).value = data.Placemark[0].Point.coordinates[0];
break;
}
}
</script>
<!-- You can change the "value" (The label on the button) here -->
<input type="button" class="button" onclick="fetchCoordinates();" value="Kliknij i pobierz dane Mapy"/>

dr.hd
30-10-2010, 20:23
Witam
Zrobiłem te mapy i wszystko działa, ale mam pytanie, czy wszystkie te pola przy dodawaniu wpisu muszą być widoczne ?
street
postcode
city
country
longitude
latitude
pytam bo jest to temat z przed dwóch lat, więc może się coś zmieniło ? na obecną chwilę może drażnić użytkownika jak zobaczy co ma wypełnić żeby jego wpis został opublikowany, w szczególności te dwa ostatnie pola :/ czy jest na dzień dzisiejszy możliwość żeby po wpisaniu postcode i np. miasta wyświetlała się mapa ? bez konieczności klikania w buton żeby pobierał automatycznie koordynaty...?

Jola
30-10-2010, 21:57
Czy pojawiły się nowsze rozwiązania? To musisz sprawdzić na stronie projektu.
Teoretycznie możesz ukryć pola longitude i latitude. Tylko skąd użytkownik będzie wiedział, że koordynaty zostały pobrane. :)