Short answer
Civic.ly reads the location your phone saves inside each photo at the moment it's taken — if there's no location embedded, there's nothing to place on the map, and Civic.ly shows you an error on upload telling you the photo has no location. So the problem is almost always one of: (1) the camera's location setting is off on that phone, (2) the photo isn't an original taken on that phone (forwarded/downloaded photos have their location stripped), (3) the file is over our 20 MB upload limit, or (4) on iPhone, the Civic.ly app has only Limited Photos access (selected-photos), which strips the location metadata when you pick a photo and can also stop the in-app gallery button doing anything — switch it to Full Access. The fastest diagnosis is the Photos-app self-test below — it tells you whether the phone is embedding location before Civic.ly is even involved.
Detail
What the upload error tells you. If Civic.ly showed a "no location" error when you uploaded, that confirms the photo had no GPS embedded — so it's the camera setting or a non-original photo (cause 1 or 2), not a file-size problem. If the upload went through with no error but the asset still isn't where you expect, that's a different issue — the location is probably just approximate, which is a pin-nudge job on the web app (see Watch-outs), not a detection failure.
The one test worth doing first — the Photos-app self-test (60 seconds):
- Go outside near an asset and take a new photo on the phone's normal camera.
- Open that photo in the phone's Photos app (Photos on iPhone; Gallery or Google Photos on Android) and swipe up on the picture. If the phone embedded a location, you'll see a small map showing where it was taken.
This splits the problem cleanly:
- It shows on the map in Photos → the phone is embedding location correctly, and the access/permissions are fine. The Civic.ly-side issue is then either an oversized file or a non-original photo (see below).
- It does NOT show a map in Photos → the camera's location setting is off. Turn it on (per the camera-setup Q&A), then re-test:
- iPhone: Settings → Privacy & Security → Location Services → (on) → Camera → "While Using the App" with "Precise Location" on.
- Samsung / Android: Camera app → Settings (cog) → "Location tags" (sometimes "Location"/"Geotagging") on; some phones also need Location on in the main Settings.
A telling clue — works on one phone but not another. If the same asset photographs fine on one colleague's phone but not another's (e.g. Charlotte's iPhone works, Rachel's and James's don't), it's a per-device setting, not a Civic.ly fault. Use the working phone as the reference and compare its camera location settings against the others.
The two Civic.ly-side causes (when the Photos self-test passes):
- Non-original photo. The photo must be the one taken on that phone's camera, out at the asset. Anything forwarded or saved from elsewhere (WhatsApp, email, a download, a screenshot) usually has its location stripped, so it won't map even if the original would have.
- File too big. Civic.ly caps uploads at 20 MB. That's comfortably fine for any standard phone camera, but occasionally someone has set their camera to shoot extra-large/RAW/high-resolution images that exceed it — worth checking if a photo maps fine in the Photos app but still won't upload to Civic.ly.
- iPhone "Limited" Photos access (a sneaky one). This is the cause when the photo maps fine in the Photos app but still uploads with no location and/or the in-app gallery button does nothing. On iPhone you can grant an app access to all photos or only selected ones — and when Civic.ly only has Limited (selected-photos) access, iOS hands it a stripped copy of the picked photo without the location metadata, so even a properly geotagged photo maps to nowhere. The same restriction is why tapping the gallery/upload button can appear to do nothing. Fix: Settings → Privacy & Security → Photos → Civic.ly → set to Full Access. (People often pick Limited deliberately on a personal phone to keep family photos private — reassure them: uploading is several deliberate taps and anything added can be deleted, so Full Access doesn't expose their library.)
Watch-outs
- It's not a permissions problem in Civic.ly. If a photo maps in the phone's Photos app, the location is embedded and the user's Civic.ly access is fine — don't send someone hunting through their account permissions for a photo-mapping issue.
- Take a NEW photo for the test — an old photo taken before location was switched on will never have GPS, so it'll fail the test for the wrong reason.
- GPS is approximate even when it works — expect to nudge pins on the web app after upload (see After uploading assets from a phone, do I need to adjust their map locations?). "Slightly off" is a nudge job, not a location-detection failure.
- Don't let it block capture. Assets can be added anyway and their locations nudged on the map afterwards — a location-detection snag shouldn't hold up the register.
Related
- How do I set up a phone so its photos carry the GPS location for asset capture? — the camera setup this troubleshoots
- After uploading assets from a phone, do I need to adjust their map locations?
- When I upload photos as assets, how does Civic.ly decide where to place them on the map and what to call them?