No to tak, wiem, że on je zwraca, tylko co, gdy potrzebujesz mieć współrzędne wszystkich miejscowości w Polsce?? A jest och ponad 200 tysięcy?? Więc potrzebuję mieć do tego automat, skrypt, który sam mi to wykona i zapisze do jakiejś bazy.
Udało mi się stworzyć coś takiego. Podaję miejscowość, ewentualnie kod pocztowy itp. a dostaję w odpowiedzi współrzędne. Kod wygląda następująco:
Kod
<!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'>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Przykład</title>
<script type="text/javascript" src="http://maps.google.com/maps?file=api&v=2&key=KLUCZAPI"></script>
<script type="text/javascript">
<!-- <![CDATA[
var map;
var marker;
var j=0;
function pokaz(lat, lng, element) {
marker = new GMarker(new GLatLng(lat, lng), {draggable: true});
map.addOverlay(marker);
GEvent.addListener(marker, "dragend", function() {
document.getElementById(element).innerHTML = "("+marker.getLatLng().lat().toFixed(4)+","+marker.getLatLng().lng().toFixed(4)+")";
});
}
function load() {
if (GBrowserIsCompatible()) {
map = new GMap2(document.getElementById("map"));
map.setCenter(new GLatLng(51.629805, 19.237883), 6);
map.addControl(new GLargeMapControl());
map.addControl(new GMapTypeControl());
function punkt(adres, info) {
return new GClientGeocoder().getLatLng(adres, function(gps) {
var lat = gps.lat().toFixed(4);
var lng = gps.lng().toFixed(4);
j++;
pokaz(lat, lng, j);
document.getElementById("dane").innerHTML += "<br /><a id='a"+j+"' href='javascript:pokaz("+lat+","+lng+", \"a"+j+"\")'>("+lat+","+lng+")</a> - "+info+" - "+adres;
});
}
var dane = new Array(
new Array("Częstochowa", "Częstochowa"),
new Array("Sanok", "Sanok"),
new Array("Warszawa", "Warszawa"),
new Array("84-140, jastarnia", "Jastarnia"),
new Array("szczecin", "Szczecin"),
new Array("Osinów Dolny", "Osinów Dolny"))
for(var i=0; i<dane.length; i++) { punkt(dane[i][0], dane[i][1]); }
}
}
// ]]> -->
</script>
</head>
<body onload="load()" onunload="GUnload()">
<div id="map" style="width: 550px; height: 500px"></div>
<div id="dane"></div>
</body>
</html>
Pozostaje jeszcze kwestia, aby te dane zapisać do jakiejś bazy, lub pliku, prosto ze skryptu JavaScript