* fix(journey): remove photo upload count limit and surface upload errors (#997) Removes the arbitrary 10-file cap on journey entry photo uploads and 20-file cap on gallery uploads. MulterErrors now return proper 4xx responses instead of 500, and the client surfaces the server error message via toast rather than silently trapping the user in the post editor overlay. * fix(planner): remove correct assignment when place assigned to same day multiple times When a place was assigned to the same day more than once, the "Remove from day" button in PlaceInspector always deleted the first assignment (Array.find on place.id) instead of the currently selected one. Now prefers selectedAssignmentId when available. Fixes #1005 * fix(map): enable 3D terrain for Mapbox outdoors style in trip planner wantsTerrain() only matched satellite styles, so the outdoors-v12 style was flat in the planner despite showing correct 3D terrain in the settings preview. Added outdoors-v12 to the allowlist; marker drift is already handled by syncMarkerAltitudes(). Fixes #1002 * fix(maps): send Referer header on Google API calls when APP_URL is set Supports HTTP referrer restrictions on GCP API keys. Documents the restriction types and photo troubleshooting steps in the wiki.
3.7 KiB
Places and Search
Places are the building blocks of your trip. You can add them by searching, pasting a URL, entering coordinates, or importing a file.
Adding a place
Click + Add Place at the top of the Places sidebar to open the Place form. You can also right-click anywhere on the map to create a place at that exact location — the address is reverse-geocoded and pre-filled automatically.
Searching for a place
Type in the search box at the top of the form. After 2 or more characters, with a 300 ms debounce, suggestions appear in a dropdown.
- Use ↑ / ↓ to navigate results, Enter to select, Esc to dismiss.
- Search results are biased toward the geographic center of your existing trip places. When those places span more than ~500 km, the bias is skipped.
With a Google Maps API key
Admin: A Google Maps API key is configured in User-Settings.
When a key is present, the autocomplete uses the Google Places API, which can return ratings, opening hours, photos, and phone numbers from Google's database.
API key restrictions: TREK calls the Google Places API from the server, not the browser. If you apply HTTP referrers restrictions to your key in Google Cloud Console, you must also set
APP_URLin your environment — TREK sends it as theRefererheader on every outbound Google API request. Without it, Google will reject all server-side calls withREQUEST_DENIED. For server-side deployments, IP address restrictions are simpler and require no extra configuration. See Troubleshooting if photos are missing after adding a key.
Without a Google Maps API key
TREK falls back to OpenStreetMap (Nominatim) automatically — no API key needed. A notice appears above the search box explaining that OpenStreetMap is in use and that photos, ratings, and opening hours are unavailable. Results include name, address, and coordinates.
Pasting a Google Maps URL
Paste a maps.app.goo.gl/…, goo.gl/maps/…, or maps.google.*/… URL directly into the search box and press the search button. TREK resolves it server-side and populates the name, address, and coordinates.
Entering coordinates manually
Type or paste a lat, lng pair (e.g. 48.8566, 2.3522) into the Latitude field. TREK detects the comma-separated pair and fills both coordinate fields at once.
Place fields
| Field | Notes |
|---|---|
| Name | Required |
| Description | Free text |
| Notes | Free text, max 2 000 characters |
| Address | Free text |
| Latitude / Longitude | Decimal degrees |
| Category | Pick an existing category or type a new name to create one inline (default color #6366f1, icon MapPin) |
| Start time / End time | Shown only when editing an existing place |
| Website | URL |
| File attachments | Images or PDFs — click the Paperclip icon or paste from the clipboard |
Two inline warnings are shown when editing times: one if the end time is set to a value before or equal to the start time, and one if the times overlap with another place already assigned to the same day.
Importing multiple places
Drag a .gpx, .kml, or .kmz file onto the Places sidebar to import all waypoints or features at once. You can also import a saved-list share URL using the Import list button in the sidebar header — both Google Maps and Naver Maps list URLs are supported.
Admin: Google Maps API key is set in User-Settings. Without it, OSM search is used automatically.
See also: Day-Plans-and-Notes · Map-Features · Tags-and-Categories
