تولیدکننده مکان تصادفی: ایجاد کننده مختصات جهانی
مختصات جغرافیایی تصادفی را با نمایش نقشه بصری تولید کنید. ویژگیها شامل دکمه تولید، نمایش فرمت اعشاری و کپی آسان است.
تولیدکننده موقعیت تصادفی
مستندات
تولید کننده موقعیت تصادفی
[... محتوای موجود ...]
نمای بصری
برای ارائه یک زمینه بصری برای مختصات تولید شده، ما یک آیکون ساده کره زمین را با استفاده از SVG پیادهسازی میکنیم. در اینجا یک مثال از چگونگی انجام این کار آورده شده است:
این SVG یک کره زمین ساده با خطوط عرض و طول و یک نقطه قرمز را که نمایانگر موقعیت تولید شده است، ایجاد میکند. موقعیت دقیق نقطه میتواند بر اساس مختصات تولید شده محاسبه شود.
[... محتوای موجود ...]
مثالها
در اینجا چند مثال کد برای تولید مختصات تصادفی در زبانهای برنامهنویسی مختلف آورده شده است:
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
پیادهسازی دکمه کپی
برای پیادهسازی قابلیت دکمه کپی، میتوانیم از API کلیپ بورد استفاده کنیم. در اینجا یک مثال ساده جاوا اسکریپت آورده شده است:
1function copyToClipboard(text) {
2 navigator.clipboard.writeText(text).then(() => {
3 alert('مختصات به کلیپ بورد کپی شد!');
4 }, (err) => {
5 console.error('نتوانستیم متن را کپی کنیم: ', err);
6 });
7}
8
9// استفاده
10const copyButton = document.getElementById('copyButton');
11copyButton.addEventListener('click', () => {
12 const coordinates = document.getElementById('coordinates').textContent;
13 copyToClipboard(coordinates);
14});
15
این تابع میتواند زمانی که دکمه کپی کلیک میشود، فراخوانی شود و مختصات تولید شده را به عنوان متنی که باید کپی شود، ارسال کند.
[... باقی محتوای موجود ...]
ابزارهای مرتبط
کشف ابزارهای بیشتری که ممکن است برای جریان کاری شما مفید باشند