{label}: {point?.toUrlValue(6) ?? unavailable}
++ Projected: {projected ? `x=${projected.x.toFixed(2)}, y=${projected.y.toFixed(2)}` : unavailable} +
++ Back: {back?.toUrlValue(6) ?? unavailable}{error !== null ? ` (error ${error.toFixed(3)} m)` : ''} +
+ > + ); +} + +function ProjectedCoordinatesContent({ holder, center, tapped }: { + holder: Holder | null; + center: GeoPoint | null; + tapped: GeoPoint | null; +}) { + const { t } = useSampleI18n(); + const unavailable = t({ + en: 'Unavailable', + ja: '取得できません', + 'es-419': 'No disponible', + de: 'Nicht verfügbar', + th: 'ไม่มีข้อมูล', + hi: 'उपलब्ध नहीं', + }); + + return ( ++ {t({ + en: 'Tap the map to project the tapped point.', + ja: '地図をタップすると、その地点の投影座標を表示します。', + 'es-419': 'Toca el mapa para proyectar el punto tocado.', + de: 'Tippen Sie auf die Karte, um den angetippten Punkt zu projizieren.', + th: 'แตะแผนที่เพื่อฉายพิกัดของจุดที่แตะ', + hi: 'टैप किए गए बिंदु को प्रक्षेपित करने के लिए मैप पर टैप करें।', + })} +
++ {t({ + en: 'Markers: red T = tapped, blue P = back from the projected point.', + ja: 'マーカー: 赤の T がタップ地点、青の P が投影座標から戻した地点。', + 'es-419': 'Marcadores: T rojo = punto tocado, P azul = de vuelta desde el punto proyectado.', + de: 'Marker: rotes T = angetippt, blaues P = aus dem projizierten Punkt zurückgerechnet.', + th: 'หมุด: T สีแดง = จุดที่แตะ, P สีน้ำเงิน = แปลงกลับจากพิกัดที่ฉาย', + hi: 'मार्कर: लाल T = टैप किया गया बिंदु, नीला P = प्रक्षेपित बिंदु से वापस बदला गया।', + })} +
++ {t({ en: 'Coordinate system', ja: '座標系', 'es-419': 'Sistema de coordenadas', de: 'Koordinatensystem', th: 'ระบบพิกัด', hi: 'निर्देशांक प्रणाली' })}: {holder ? formatSystem(holder.coordinateSystem) : unavailable} +
+Tap the map to project the tapped point.
; + const projected = holder.toProjectedPoint(point); + const back = projected ? holder.fromProjectedPoint(projected) : null; + return{JSON.stringify({
+ coordinateSystem: holder.coordinateSystem,
+ projected,
+ back: back?.toUrlValue(6),
+ }, null, 2)};
+}`,
+ code: `