Для этого вы можете использовать Сервис геокодирования Google .API очень прост.Вы отправляете адрес в URL, и он возвращает некоторый xml с геокодированным результатом.Более того, на RiaForge есть проект под названием Google Geocoder v3 , который сделает всю работу за вас.
Вот пример кода CFC:
<cfinvoke component="googlegeocoder3" method="googlegeocoder3" returnvariable="variables.geocode_query1">
<cfinvokeargument name="address" value="1600 Amphitheatre Parkway, Mountain View, CA">
<cfinvokeargument name="ShowDetails" value="false">
</cfinvoke>
<cfdump var="#variables.geocode_query1#">
Что касается того, когда выполнять геокодирование, у вас есть два варианта.Один из них - сделать это при регистрации - взять адрес из регистрационной формы, позвонить в службу геокодирования, чтобы получить широту / долготу, а затем сохранить все в базе данных.Другой вариант - сохранить адрес от регистрации, а затем создать отдельную запланированную задачу для периодической проверки и геокодирования любых негеокодированных адресов.