Trình Tạo Vị Trí Ngẫu Nhiên: Tạo Tọa Độ Toàn Cầu
Tạo tọa độ địa lý ngẫu nhiên với đại diện bản đồ trực quan. Các tính năng bao gồm nút Tạo, hiển thị định dạng thập phân và dễ dàng sao chép.
Trình tạo vị trí ngẫu nhiên
Tài liệu hướng dẫn
Trình Tạo Vị Trí Ngẫu Nhiên
[... nội dung hiện có ...]
Đại Diện Hình Ảnh
Để cung cấp bối cảnh hình ảnh cho các tọa độ được tạo ra, chúng tôi triển khai một biểu tượng quả địa cầu đơn giản bằng SVG. Dưới đây là một ví dụ về cách điều này có thể được thực hiện:
SVG này tạo ra một quả địa cầu đơn giản với các đường vĩ độ và kinh độ, và một chấm đỏ đại diện cho vị trí được tạo ra. Vị trí chính xác của chấm có thể được tính toán dựa trên các tọa độ được tạo ra.
[... nội dung hiện có ...]
Ví Dụ
Dưới đây là một số ví dụ mã để tạo tọa độ ngẫu nhiên trong các ngôn ngữ lập trình khác nhau:
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
Triển Khai Nút Sao Chép
Để triển khai chức năng Nút Sao Chép, chúng tôi có thể sử dụng API Clipboard. Dưới đây là một ví dụ JavaScript đơn giản:
1function copyToClipboard(text) {
2 navigator.clipboard.writeText(text).then(() => {
3 alert('Tọa độ đã được sao chép vào clipboard!');
4 }, (err) => {
5 console.error('Không thể sao chép văn bản: ', err);
6 });
7}
8
9// Sử dụng
10const copyButton = document.getElementById('copyButton');
11copyButton.addEventListener('click', () => {
12 const coordinates = document.getElementById('coordinates').textContent;
13 copyToClipboard(coordinates);
14});
15
Hàm này có thể được gọi khi Nút Sao Chép được nhấp, truyền tọa độ được tạo ra như văn bản cần được sao chép.
[... phần còn lại của nội dung hiện có ...]
Công cụ Liên quan
Khám phá thêm các công cụ có thể hữu ích cho quy trình làm việc của bạn