2010-04-14 4 views

Odpowiedz

8

Możesz sprawdzić poniższy przykład. Wierzę, że powinna ona być oczywista, aby przestrzegać:

<!DOCTYPE html> 
<html> 
<head> 
    <meta http-equiv="content-type" content="text/html; charset=UTF-8"/> 
    <title>Google Maps API Geocoding Demo</title> 
    <script src="http://maps.google.com/maps?file=api&amp;v=2&amp;sensor=false" 
      type="text/javascript"></script> 
    </head> 
    <body onunload="GUnload()"> 
    <div id="map_canvas" style="width: 400px; height: 300px"></div> 

    <script type="text/javascript"> 
     var geocoder = new GClientGeocoder(); 
     var map = new GMap2(document.getElementById("map_canvas")); 
     var i; 

     var postcodes = [ 
      'SL59JH', 
      'LU13TQ', 
      'SR29TD', 
      'DA75BQ', 
      'EC1V9B' 
     ]; 

     map.setCenter(new GLatLng(54.00, -3.00), 5); 

     for (i = 0; i < postcodes.length; i++) { 
      geocoder.getLatLng(postcodes[i] + ', UK', function (point) {   
      if (point) { 
       map.addOverlay(new GMarker(point)); 
      } 
      }); 
     } 
    </script> 
    </body> 
</html> 

Zrzut ekranu:

Google Maps API Geocoding Demo

+0

Cześć Daniel, dzięki dla ciebie przykład. Wygląda na to, że działa, z wyjątkiem niektórych kodów pocztowych. Oto przykład tablica: 'HU80QJ', 'HU74UR', 'HU53LR', 'HU53BD', 'HU74WA', 'HU106BA', 'LS110DB' Pierwsze trzy prace, a ostatni tylko dwie, ale HU5 3BD i HU7 4WA nie. Działają, jeśli wykonujesz wyszukiwanie w Mapach Google przez nich samych, ale nie w tym przykładzie. Ale jeśli tablica zawiera tylko te, które działa?!? Czy istnieje limit liczby kodów pocztowych, które możesz zrobić naraz? – tonyyeb

+0

Wypróbowałem jeszcze kilka rzeczy i okazało się, że Mapy Google są bardzo niedokładne przy konwersji kodów pocztowych przy użyciu tej metody. Ale jeśli wpiszę kod pocztowy prosto na maps.google.co.uk, jest on bardzo dokładny. Dlaczego to? – tonyyeb

+0

Możesz ustawić region w kodzie za pomocą: 'var geocoder = new GClientGeocoder(); geocoder.setBaseCountryCode ('uk'); '- to pozwoliłoby ci usunąć dołączony kod' + ', UK'' z powyższego kodu. Może również poprawić dokładność wyniku. –