Geolocalização e localização
Utilize os recursos da borda para fornecer conteúdo e serviços localizados com base na localização do usuário.
Geolocalização e localização é uma aula grátis de Edge Computing with Cloudflare Workers & Deno no CoddyKit. Esta é a aula 3 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Edge Computing with Cloudflare Workers & Deno, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Edge Computing with Cloudflare Workers & Deno inclui 4 aulas no total.
Partes desta aula ainda não foram traduzidas e aparecem em inglês.
Edge Geolocation & Localization
Ever wonder how websites seem to know your location or prefer your local language? That's often thanks to geolocation and localization, especially when powered by the edge!
Geolocation is finding a user's physical location. Localization is adapting content (like language, currency, or date formats) based on that location.
The edge is perfect for this! By processing requests closer to the user, we can quickly determine location and deliver tailored experiences with minimal delay.
How Edge Knows Your Location
When you connect to a website, your device sends an IP address. Edge networks like Cloudflare use this IP to perform a quick lookup, determining your approximate geographic location.
This information is then made available to your code running on the edge. It's fast, automatic, and doesn't rely on browser-based GPS, which often requires user permission.
Access Geolocation Data
Cloudflare Workers provide geolocation data through the request.cf object. This object is automatically populated for every incoming request hitting the edge.
It contains useful properties like country code, city, region, and even timezone, making it incredibly easy to build location-aware applications without extra APIs.
Demo: Simple Country Detection
Let's write a simple Cloudflare Worker that detects the user's country and responds with a greeting. This uses the request.cf.country property.
Try running this example to see your country code!
export default {
async fetch(request) {
const country = request.cf.country; // e.g., "US", "DE", "JP"
return new Response(`Hello from ${country || 'an unknown location'}!`);
}
};Detailed Location Info
The request.cf object offers more than just the country code. You can access more granular details for deeper localization:
cf.city: User's city (e.g., "San Francisco")cf.region: User's region/state (e.g., "CA")cf.timezone: User's timezone (e.g., "America/Los_Angeles")cf.latitude,cf.longitude: Approximate coordinates
Use these to create highly personalized experiences.
Demo: Personalized Greeting
Let's enhance our Worker to provide a more personalized greeting using city and country information from the request.cf object.
This demonstrates how easily you can use multiple geolocation data points.
export default {
async fetch(request) {
const { city, country } = request.cf;
if (city && country) {
return new Response(`Welcome, traveler from ${city}, ${country}!`);
} else if (country) {
return new Response(`Welcome, traveler from ${country}!`);
} else {
return new Response('Welcome, traveler!');
}
}
};Localization: Language & Content
Beyond simple greetings, you can use geolocation data to serve different versions of your content. This is key for true localization.
- Language: Determine the user's preferred language (e.g., from
Accept-Languageheader orcf.country) and serve translated text. - Currency: Display prices in the local currency based on the user's country.
- Content Variants: Show different promotions or product availability based on regional restrictions.
Demo: Dynamic Language
Here's an example of how a Worker can provide a dynamic welcome message based on the user's country. For simplicity, we'll map a few countries to specific languages.
In a real application, you'd integrate with a more robust i18n (internationalization) library.
export default {
async fetch(request) {
const country = request.cf.country;
let message;
switch (country) {
case 'US':
message = 'Hello!';
break;
case 'FR':
message = 'Bonjour!';
break;
case 'DE':
message = 'Guten Tag!';
break;
default:
message = 'Welcome!';
}
return new Response(message);
}
};Best Practices for Localization
To make your edge localization robust and user-friendly, consider these tips:
- Fallback Content: Always have a default language or content version for unknown locations.
- User Overrides: Allow users to manually select their preferred language/location, overriding the auto-detected setting.
- Caching: Cache localized content variants effectively to maximize performance benefits.
- Privacy: Be mindful of privacy regulations (like GDPR) when using location data.
Quick Check: Edge Localization
Edge computing significantly enhances geolocation and localization. Which of the following statements accurately describe benefits or methods of using edge capabilities for localization?
Recap & Next Steps
In this lesson, we explored how geolocation and localization are powerful capabilities at the edge.
- You learned how edge networks provide location data automatically.
- We saw how to access this data in Cloudflare Workers using the
request.cfobject. - You built Workers that deliver personalized and localized content based on user location.
Leveraging the edge for these features greatly improves user experience and application performance. Keep experimenting with these concepts to build truly global applications!
Perguntas Frequentes
A aula “Geolocalização e localização” é grátis?
Sim — o texto completo de “Geolocalização e localização” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Edge Computing with Cloudflare Workers & Deno, atualize para CoddyKit PRO. O curso de Edge Computing with Cloudflare Workers & Deno inclui 4 aulas no total.
O que vou aprender em “Geolocalização e localização”?
Utilize os recursos da borda para fornecer conteúdo e serviços localizados com base na localização do usuário. Você pratica Edge Computing with Cloudflare Workers & Deno com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Edge Computing with Cloudflare Workers & Deno?
Nenhuma experiência prévia é necessária. Edge Computing with Cloudflare Workers & Deno no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 3 de 4.
Quanto tempo leva a aula “Geolocalização e localização”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Edge Computing with Cloudflare Workers & Deno?
Sim. Cada aula de Edge Computing with Cloudflare Workers & Deno inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Microsserviços na borda
- Arquiteturas orientadas a eventos
- Geolocalização e localização
- Objetos Duráveis e coordenação com estado