Witam, prowadzę portal na skrypcie Joomla oraz mam zainstalowany Sobi2. W tym rozszerzeniu jest funkcja rozpoznania współrzędnych miejsca (pobieranych z pól "ulica", "miasto", "kod pocztowy" itd...) przy pomocy API google, np:
http://maps.google.com/maps/geo?q=warszawa...=getCoordinatesKiedy klikam przycisk "Pobierz współrzędne" powinien zadziałać skrypt:
<script type="text/javascript" language="JavaScript">
/* adjust here the field names if they are not correct */
var apiKey = "";
var postalCodeField = 'field_kodpocztowy';
var cityField = 'field_miasto';
var streetField = 'field_ulica';
var countryField = 'field_kraj';
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: ");
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;
}
}
Dane pobierane są prawidłowo, (w konsoli błędów w chrome wyświetla się prawidłowy adres do API z wstawionymi danymi), ale konsola chrome wyświetla błąd:
http://scr.hu/277/y6vmx (ostatnie kilka błędów). Klikając w błąd wyświetlają się szczegóły:
http://scr.hu/277/fg4gsDane z API nie są wpisywane w pola poniżej, w które wpisuje się koordynaty (które później są potrzebne do wyświetlenia mapki)
Gdzie jest błąd w skrypcie? Skrypt działał i przestał działać, czy to google zmieniło swoje API? Proszę o pomoc,