I put up an example of postcode geocoding using the Google Local Search AJAX API and somebody asked if it was possible to populate an ASP.NET GridView with the data in real-time. So since I currently have some spare time, I thought I’d give it a go. First a disclaimer, I have no idea if this breaks the terms and conditions for Local Search usage so check before doing it yourself.
First, lets create a table to store the postcode information
CREATE TABLE Postcodes( Postcode nchar(10) NOT NULL, Latitude float NOT NULL, Longitude float NOT NULL, CONSTRAINT PK_Postcodes PRIMARY KEY CLUSTERED ( Postcode ASC ) )
I won’t post all the code here, but the basic process goes like this
- When the user presses the ‘Get lat/long’ button, execute the Local Search query
- When/if that returns the latitude and longitude for the postcode, send the results off to a generic handler using a XMLHttpRequest object that puts the data into the Postcodes table
- When that call returns, update the GridView, which sits in an UpdatePanel so only the grid gets updated.
Anyway, this is what it looks like (yeh I know, not too pretty) and you can download the source here.