mirror of
https://github.com/mauriceboe/TREK.git
synced 2026-06-21 14:21:46 +00:00
Explore places on the map, planner route fixes, and instance-wide Mapbox (#1147)
* feat(maps): add an OSM POI search endpoint (category within a viewport) New /api/maps/pois queries OpenStreetMap via Overpass for places of a category (restaurants, cafes, hotels, sights, …) inside a bounding box. OSM-only by design — it never calls Google, even when a Google key is configured. * feat(map): explore nearby places on the trip map (OSM category pill) A floating, icon-only pill over the planner map lets you toggle a POI category and see those OpenStreetMap places in the current view; clicking a marker opens the add-place form pre-filled (name, address, website, phone). Single-select with a 'search this area' action after the map moves. Renders on both the Leaflet and Mapbox maps, and can be turned off in settings (discussion #841). * fix(planner): anchor timed places when optimising and route transports by location - The day optimiser no longer reshuffles places that have a set time — they stay anchored to their time, like locked places. - The route now uses a transport's departure/arrival location as a waypoint when it has one (e.g. a flight's airport), instead of breaking the route at every booking; transports without a location are ignored for routing but still show their leg's distance/duration under the booking. * feat(admin): instance-wide Mapbox defaults in default user settings Admins can set a shared Mapbox token (plus style, 3D and quality) as instance defaults, so the whole instance can use Mapbox without each user pasting their own key. Users without their own value inherit it via the existing admin-defaults merge; the shared token is stored encrypted (discussion #920).
This commit is contained in:
@@ -355,5 +355,15 @@ const admin: TranslationStrings = {
|
||||
'このユーザーのパスキーをすべて削除します(例:デバイスを紛失した場合)。パスワードでのサインインは引き続き可能です。',
|
||||
'admin.passkey.resetConfirm': '{name} のパスキーをすべて削除しますか?',
|
||||
'admin.passkey.resetDone': '{count} 件のパスキーを削除しました',
|
||||
'admin.defaultSettings.mapProvider': '地図エンジン',
|
||||
'admin.defaultSettings.mapProviderHint': 'このインスタンスの全員に適用される既定の地図です。各ユーザーは自分の設定でこれを上書きできます。',
|
||||
'admin.defaultSettings.providerLeaflet': '標準(無料)',
|
||||
'admin.defaultSettings.providerMapbox': 'Mapbox(3D)',
|
||||
'admin.defaultSettings.mapboxToken': '共有 Mapbox トークン',
|
||||
'admin.defaultSettings.mapboxTokenHint': '自分のトークンを入力していないすべてのユーザーに使用されます。これにより、キーを個別に共有しなくてもインスタンス全体で Mapbox を利用できます。暗号化して保存されます。',
|
||||
'admin.defaultSettings.mapboxStyle': '地図スタイル',
|
||||
'admin.defaultSettings.mapboxStylePlaceholder': 'スタイルを選択…',
|
||||
'admin.defaultSettings.mapbox3d': '3D の建物と地形',
|
||||
'admin.defaultSettings.mapboxQuality': '高品質モード',
|
||||
};
|
||||
export default admin;
|
||||
|
||||
@@ -4,5 +4,14 @@ const map: TranslationStrings = {
|
||||
'map.connections': '接続',
|
||||
'map.showConnections': '予約ルートを表示',
|
||||
'map.hideConnections': '予約ルートを非表示',
|
||||
'poi.searchThisArea': 'このエリアを検索',
|
||||
'poi.cat.restaurants': 'レストラン',
|
||||
'poi.cat.cafes': 'カフェ',
|
||||
'poi.cat.bars': 'バー・ナイトライフ',
|
||||
'poi.cat.hotels': '宿泊施設',
|
||||
'poi.cat.sights': '観光スポット',
|
||||
'poi.cat.museums': '美術館・文化施設',
|
||||
'poi.cat.nature': '自然・公園',
|
||||
'poi.cat.activities': 'アクティビティ',
|
||||
};
|
||||
export default map;
|
||||
|
||||
@@ -303,6 +303,8 @@ const settings: TranslationStrings = {
|
||||
'settings.passkey.deviceBound': 'このデバイス',
|
||||
'settings.passkey.lastUsed': '最終使用',
|
||||
'settings.passkey.neverUsed': '未使用',
|
||||
'settings.mapPoiPill': '地図でスポットを探す',
|
||||
'settings.mapPoiPillHint': '旅行の地図にカテゴリピルを表示して、OpenStreetMapから近くのレストランや宿泊施設などを見つけられます。',
|
||||
};
|
||||
|
||||
export default settings;
|
||||
|
||||
Reference in New Issue
Block a user