Uploaded image for project: 'CiviCRM'
  1. CiviCRM
  2. CRM-11665

Add manual override option for latitude / longitude geocoding

    Details

      Description

      When saving an event or a contact, the latitude and longitude are automatically updated each time the event or contact is saved. However, the latitude/longitude provided by Google or Yahoo aren't always accurate. This is especially true in Ireland I feel, where we don't have a post code system and when addresses are entered in Irish rather than English.

      This is causing quite a headache for my client, which as an organisation which promotes the Irish language, can't very well show all addresses in English on their website!

      As in a lot of cases, Google fails to geocode the address correctly or fails entirely, they'd like the ability to enter in the co-ordinates themselves. The attached patch does the following:

      1. Adds a 'override automatic geocoding' checkbox to the add/edit address form
      2. Prints out the new checkbox field html in the add/edit address form template file
      3. Adds in a check on the value of the checkbox before geocoding the address
      4. Modifies the 'create table' sql to add in a new 'manual_geo_code' column to the civicrm_address table.

      It does not add in an 'alter table' sql query anywhere, as I wasn't sure which file to modify for that. That's the only thing I think the patch is missing. I manually added the column to my local db and it's working fine.

      Note: Apologies if this is a duplicate, but I couldn't find an open issue on this, though I'm sure I can't be the first person to request this feature.

        Attachments

          Activity

            People

            • Assignee:
              dgg David Greenberg
              Reporter:
              stella Stella Power
            • Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: