Google Map Geocoding – Now for the UK!!!

17 07 2007

One of the projects I have been working on recently required Google Maps to be integrated into the Store Locator for the site. Based on some preliminary reading this didn’t seem like it would be too much trouble. Little did I know!

This isn’t going to be a post detailing how to go about adding Google Map functionality to you site as there are already plenty of posts about this out there. Check out Tom Taylor, Andre Lewis or Juxie’s posts just to name a few. This post is solely to help others avoid the problems I have had.

Initially when adding the Google Maps functionality the Google geocoding for UK addresses and post codes verging on the unusable. For this reason I opted to use Yahoo’s  geocoding as it offered accurate results. Or so I thought. All seemed to be well until every now and again anomolies would pop up, with stores appearing upto half a mile away from their actual location. This was due to Yahoo not recognising the whole address provided and defaulting to a “nearby location”. Obviously this is not good enough for if customers are going to use the store locator to find its stores.

Luckily, while I was troubleshooting this matter today I stumbled across a post by Pamela Fox stating that Google have released a new Map API to works with UK post codes and addresses! Excellent! Since Geokit, the plugin I use to carry out the geocoding, supports Google out of the box I just needed to change a few lines of code, tinker about a little with my geocoding functions and hey presto! A full working, acurate UK compatible Google Mapping service :-).

For those that are interested, I used Geokit for geocoding and Ym4r_gm plugins to achieve Google Map integration.

Advertisements




Embedding SWF Files in Rails

19 06 2007

For anyone else wondering how to do this. I found a really good tutorial by Cliff Rowley. Its here if you want to take a look. I would highly recommend it





Non-Persistant Models – BaseWithoutTable

18 06 2007

I recently wanted to create a simple email the took a name, email address and a message, and then send me an email. I then though to myself, this doesn’t look to be possible using the standard Rails MVC conventions. After a little googling I turned up this and a basic tutorial on how to use it here.

These are basically the steps :

1. Install the plugin

script/install http://svn.viney.net.nz/things/rails/plugins/active_record_base_without_table/

2. Create your controllers models and views as normal.

3. In your model you need to extend ActiveRecord with BaseWithoutTable rather than just Base.

class ModelName < ActiveRecord::BaseWithoutTable  column :name, :string
  column :email_address, :string
  column :subject, :string
  column :message, :text

  validates_presence_of :name, :email_address, :subject, :string
  validates_format_of :email_address, :with => /^([^@s]+)@((?:[-a-z0-9]+.)+[a-z]{2,})$/i
  validates_length_of :email_address, :within => 5..255
end

4. …and the rest is as normal…

Enjoy, it certainly save me a lot of bother.