Generator Losowych Lokalizacji: Twórca Współrzędnych Globalnych
Generuj losowe współrzędne geograficzne z wizualną reprezentacją na mapie. Funkcje obejmują przycisk Generuj, wyświetlanie w formacie dziesiętnym i łatwe kopiowanie.
Generator losowych lokalizacji
Dokumentacja
Generator losowych lokalizacji
[... istniejąca treść ...]
Wizualna reprezentacja
Aby zapewnić kontekst wizualny dla wygenerowanych współrzędnych, implementujemy prostą ikonę globu za pomocą SVG. Oto przykład, jak można to zrobić:
Ten SVG tworzy prosty glob z liniami szerokości i długości geograficznej oraz czerwoną kropką reprezentującą wygenerowaną lokalizację. Dokładna pozycja kropki może być obliczona na podstawie wygenerowanych współrzędnych.
[... istniejąca treść ...]
Przykłady
Oto kilka przykładów kodu do generowania losowych współrzędnych w różnych językach programowania:
1import random
2
3def generate_random_coordinates():
4 latitude = random.uniform(-90, 90)
5 longitude = random.uniform(-180, 180)
6 return latitude, longitude
7
8lat, lon = generate_random_coordinates()
9print(f"{lat:.4f}° {'N' if lat >= 0 else 'S'}, {abs(lon):.4f}° {'E' if lon >= 0 else 'W'}")
10
1function generateRandomCoordinates() {
2 const latitude = Math.random() * 180 - 90;
3 const longitude = Math.random() * 360 - 180;
4 return { latitude, longitude };
5}
6
7const { latitude, longitude } = generateRandomCoordinates();
8console.log(`${latitude.toFixed(4)}° ${latitude >= 0 ? 'N' : 'S'}, ${Math.abs(longitude).toFixed(4)}° ${longitude >= 0 ? 'E' : 'W'}`);
9
1import java.util.Random;
2
3public class RandomCoordinateGenerator {
4 public static double[] generateRandomCoordinates() {
5 Random random = new Random();
6 double latitude = random.nextDouble() * 180 - 90;
7 double longitude = random.nextDouble() * 360 - 180;
8 return new double[]{latitude, longitude};
9 }
10
11 public static void main(String[] args) {
12 double[] coordinates = generateRandomCoordinates();
13 System.out.printf("%.4f° %s, %.4f° %s%n",
14 Math.abs(coordinates[0]), coordinates[0] >= 0 ? "N" : "S",
15 Math.abs(coordinates[1]), coordinates[1] >= 0 ? "E" : "W");
16 }
17}
18
1#include <iostream>
2#include <cstdlib>
3#include <ctime>
4#include <iomanip>
5
6std::pair<double, double> generateRandomCoordinates() {
7 double latitude = (static_cast<double>(rand()) / RAND_MAX) * 180 - 90;
8 double longitude = (static_cast<double>(rand()) / RAND_MAX) * 360 - 180;
9 return {latitude, longitude};
10}
11
12int main() {
13 srand(time(0));
14 auto [lat, lon] = generateRandomCoordinates();
15 std::cout << std::fixed << std::setprecision(4)
16 << std::abs(lat) << "° " << (lat >= 0 ? "N" : "S") << ", "
17 << std::abs(lon) << "° " << (lon >= 0 ? "E" : "W") << std::endl;
18 return 0;
19}
20
1def generate_random_coordinates
2 latitude = rand(-90.0..90.0)
3 longitude = rand(-180.0..180.0)
4 [latitude, longitude]
5end
6
7lat, lon = generate_random_coordinates
8puts format("%.4f° %s, %.4f° %s",
9 lat.abs, lat >= 0 ? 'N' : 'S',
10 lon.abs, lon >= 0 ? 'E' : 'W')
11
1<?php
2function generateRandomCoordinates() {
3 $latitude = mt_rand(-90 * 10000, 90 * 10000) / 10000;
4 $longitude = mt_rand(-180 * 10000, 180 * 10000) / 10000;
5 return [$latitude, $longitude];
6}
7
8list($lat, $lon) = generateRandomCoordinates();
9printf("%.4f° %s, %.4f° %s\n",
10 abs($lat), $lat >= 0 ? 'N' : 'S',
11 abs($lon), $lon >= 0 ? 'E' : 'W');
12?>
13
Implementacja przycisku kopiowania
Aby zaimplementować funkcję przycisku kopiowania, możemy użyć API Schowka. Oto prosty przykład w JavaScript:
1function copyToClipboard(text) {
2 navigator.clipboard.writeText(text).then(() => {
3 alert('Współrzędne skopiowane do schowka!');
4 }, (err) => {
5 console.error('Nie można skopiować tekstu: ', err);
6 });
7}
8
9// Użycie
10const copyButton = document.getElementById('copyButton');
11copyButton.addEventListener('click', () => {
12 const coordinates = document.getElementById('coordinates').textContent;
13 copyToClipboard(coordinates);
14});
15
Ta funkcja może być wywołana, gdy przycisk kopiowania zostanie kliknięty, przekazując wygenerowane współrzędne jako tekst do skopiowania.
[... reszta istniejącej treści ...]
Powiązane narzędzia
Odkryj więcej narzędzi, które mogą być przydatne dla Twojego przepływu pracy