Skrypt strony to:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml"> <head> <meta http-equiv="Content-type" content="text/html; charset=iso-8859-2" /> <title>Obliczanie odległości do nadajników RTV</title> <script src="http://maps.google.com/maps?file=api&sensor=false&v=2&key=ABQIAAAA9G2ojpPtftQwVvAIIn2KMRRhPQ6NZkrcjP3dxOkFiWTuGHXYrxRxNm8qf05aLYVM
sQQlw59-3fTUFg" type="text/javascript"></script> <!-- <script src="http://maps.google.com/maps?file=api&v=2&key=ABQIAAAA7j_Q-rshuWkc8HyFI4V2HxQYPm-xtd00hTQOC0OXpAMO40FHAxT29dNBGfxqMPq5zwdeiDSHEPL89A" type="text/javascript"></script> --> <!-- According to the Google Maps API Terms of Service you are required display a Google map when using the Google Maps API. see: http://code.google.com/apis/maps/terms.html --> <?php $tabl[] = $data; } ?> <script type="text/javascript"> var geocoder, location1, location2; function initialize() { geocoder = new GClientGeocoder(); } function showLocation() { geocoder.getLocations(document.forms[0].address1.value, function (response) { if (!response || response.Status.code != 200) { alert("Przepraszam ale nie potrafię znaleźć pierwszego adresu."); } else { location1 = {lat: response.Placemark[0].Point.coordinates[1], lon: response.Placemark[0].Point.coordinates[0], address: response.Placemark[0].address}; geocoder.getLocations(document.forms[0].address2.value, function (response) { if (!response || response.Status.code != 200) { alert("Przepraszam ale nie potrafię znaleźć drugiego adresu."); } else { location2 = {lat: response.Placemark[0].Point.coordinates[1], lon: response.Placemark[0].Point.coordinates[0], address: response.Placemark[0].address}; calculateDistance(); } }); } }); } function calculateDistance() { try { var glatlng1 = new GLatLng(location1.lat, location1.lon); var glatlng2 = new GLatLng(location2.lat, location2.lon); var miledistance = glatlng1.distanceFrom(glatlng2, 3959).toFixed(1); var kmdistance = (miledistance * 1.609344).toFixed(1); document.getElementById('results').innerHTML = '<strong>Adres 1: </strong>' + location1.address + '<br /><strong>Adres 2: </strong>' + location2.address + '<br /><strong>Dystans: </strong>' + kmdistance + ' kilometrów (lub ' + miledistance + ' mil)'; } catch (error) { alert(error); } } </script> </head> <body onload="initialize()"> <form action="#" onsubmit="showLocation(); return false;"> <p> <input type="text" name="address1" value="" class="address_input" size="40" /> <select name="address2" class="address_input" size="1"> <? $x=0; { $x++; } ?> <br /> </select> <input type="submit" name="find" value="Oblicz" /> </p> </form> <p id="results"></p> <? ?> </body> </html>
Pobiera on dane z pliku csv o strukturze: pozycja geograficzna;nazwa nadajnika;link do opisu
"49.85 19.33333;Andrychow;http://radiopolska.pl/wykaz/pokaz_lokalizacja.php?pid=601
49.89583 19.3625;Andrychow *Wieprz*;http://radiopolska.pl/wykaz/pokaz_lokalizacja.php?pid=316"
Niestety utknąłem w miejscu gdzie muszę przesłać dane pomiędzy PHP i JS aby obliczyć odległości od miejsca montażu anteny do wszystkich nadajników oraz zapisać je do tablicy PHP oraz posortować je według odległości.
Jak rozwiązać mój problem? Z góry dziękuję za wszystkie podpowiedzi.
EDIT:
Znalazłem rozwiązanie gdzieś w necie przesyłania tablic z PHP do JS
<script TYPE="text/javascript">