google maps - Is there a free Excel Addin Geocoder without limits? -


i have 10k city, st, zip rows. need lat/long them. have tried few different addins, use google. have heard yahoo has little bit more generous limitations cannot find written google ones. there free batch geocoders excel have high limits(at least 10k day requests)? or wanderlust?

use code, worked me, found online when had same issue may need twist match specific requirements feed address array excel.

// delay between geocode requests - @ time of writing, 100 miliseconds seems work var delay = 40;     // ====== create map objects ======   var infowindow = new google.maps.infowindow();   var latlng = new google.maps.latlng(-34.397, 150.644);   var mapoptions = {     zoom: 8,     center: latlng,     maptypeid: google.maps.maptypeid.roadmap   }   var geo = new google.maps.geocoder();    var map = new google.maps.map(document.getelementbyid("map"), mapoptions);   var bounds = new google.maps.latlngbounds();    // ====== geocoding ======   function getaddress(search, next) {     geo.geocode({address:search}, function (results,status)       {          // if successful         if (status == google.maps.geocoderstatus.ok) {           // lets assume first marker 1 want           var p = results[0].geometry.location;           var lat=p.lat();           var lng=p.lng();           // output data             var msg = 'address="' + search + '" lat=' +lat+ ' lng=' +lng+ '(delay='+delay+'ms)<br>';             document.getelementbyid("messages").innerhtml += msg;           // create marker           createmarker(search,lat,lng);         }         // ====== decode error status ======         else {           // === if sending requests fast, try 1 again , increase delay           if (status == google.maps.geocoderstatus.over_query_limit) {             nextaddress--;             delay++;           } else {             var reason="code "+status;             var msg = 'address="' + search + '" error=' +reason+ '(delay='+delay+'ms)<br>';             document.getelementbyid("messages").innerhtml += msg;           }            }         next();       }     );   }   // ======= function create marker  function createmarker(add,lat,lng) {    var contentstring = add;    var marker = new google.maps.marker({      position: new google.maps.latlng(lat,lng),      map: map,      zindex: math.round(latlng.lat()*-100000)<<5    });    google.maps.event.addlistener(marker, 'click', function() {      infowindow.setcontent(contentstring);       infowindow.open(map,marker);    });     bounds.extend(marker.position);   }    // ======= array of locations want geocode ========   var addresses = [            'general roberto fierro airport zona hangares hangar 12 chihuahua mexico ', 'durango mexico ', 'ensenada mexico ', 'guadalajara mexico ', 'guaymas mexico ',     'hermosillo mexico ', 'huatulco mexico ', 'la paz mexico ', 'loreto mexico ','los mochis     mexico ', 'manzanillo mexico ', 'matamoros mexico ', 'mazatlan mexico ', 'merida mexico ', 'mexicali mexico ', 'minatitlan mexico ', 'monclova mexico '      ];    // ======= global variable remind next   var nextaddress = 0;    // ======= function call next geocode operation when reply comes    function thenext() {     if (nextaddress < addresses.length) {       settimeout('getaddress("'+addresses[nextaddress]+'",thenext)', delay);       nextaddress++;     } else {       // we're done. show map bounds       map.fitbounds(bounds);     }   }    // ======= call function first time =======   thenext(); } 

Comments