تولید کننده موقعیت تصادفی
[... محتوای موجود ...]
نمای بصری
برای ارائه یک زمینه بصری برای مختصات تولید شده، ما یک آیکون ساده کره زمین را با استفاده از SVG پیادهسازی میکنیم. در اینجا یک مثال از چگونگی انجام این کار آورده شده است:
این SVG یک کره زمین ساده با خطوط عرض و طول و یک نقطه قرمز را که نمایانگر موقعیت تولید شده است، ایجاد میکند. موقعیت دقیق نقطه میتواند بر اساس مختصات تولید شده محاسبه شود.
[... محتوای موجود ...]
مثالها
در اینجا چند مثال کد برای تولید مختصات تصادفی در زبانهای برنامهنویسی مختلف آورده شده است:
python javascript java cpp ruby php
import random
def generate_random_coordinates ( ) :
latitude = random . uniform ( - 90 , 90 )
longitude = random . uniform ( - 180 , 180 )
return latitude , longitude
lat , lon = generate_random_coordinates ( )
print ( f" { lat : .4f } ° { 'N' if lat >= 0 else 'S' } , { abs ( lon ) : .4f } ° { 'E' if lon >= 0 else 'W' } " )
function generateRandomCoordinates ( ) {
const latitude = Math . random ( ) * 180 - 90 ;
const longitude = Math . random ( ) * 360 - 180 ;
return { latitude , longitude } ;
}
const { latitude , longitude } = generateRandomCoordinates ( ) ;
console . log ( ` ${ latitude . toFixed ( 4 ) } ° ${ latitude >= 0 ? 'N' : 'S' } , ${ Math . abs ( longitude ) . toFixed ( 4 ) } ° ${ longitude >= 0 ? 'E' : 'W' } ` ) ;
import java . util . Random ;
public class RandomCoordinateGenerator {
public static double [ ] generateRandomCoordinates ( ) {
Random random = new Random ( ) ;
double latitude = random . nextDouble ( ) * 180 - 90 ;
double longitude = random . nextDouble ( ) * 360 - 180 ;
return new double [ ] { latitude , longitude } ;
}
public static void main ( String [ ] args ) {
double [ ] coordinates = generateRandomCoordinates ( ) ;
System . out . printf ( "%.4f° %s, %.4f° %s%n" ,
Math . abs ( coordinates [ 0 ] ) , coordinates [ 0 ] >= 0 ? "N" : "S" ,
Math . abs ( coordinates [ 1 ] ) , coordinates [ 1 ] >= 0 ? "E" : "W" ) ;
}
}
# include <iostream>
# include <cstdlib>
# include <ctime>
# include <iomanip>
std :: pair < double , double > generateRandomCoordinates ( ) {
double latitude = ( static_cast < double > ( rand ( ) ) / RAND_MAX ) * 180 - 90 ;
double longitude = ( static_cast < double > ( rand ( ) ) / RAND_MAX ) * 360 - 180 ;
return { latitude , longitude } ;
}
int main ( ) {
srand ( time ( 0 ) ) ;
auto [ lat , lon ] = generateRandomCoordinates ( ) ;
std :: cout << std :: fixed << std :: setprecision ( 4 )
<< std :: abs ( lat ) << "° " << ( lat >= 0 ? "N" : "S" ) << ", "
<< std :: abs ( lon ) << "° " << ( lon >= 0 ? "E" : "W" ) << std :: endl ;
return 0 ;
}
def generate_random_coordinates
latitude = rand ( - 90.0 . .90 .0 )
longitude = rand ( - 180.0 . .180 .0 )
[ latitude , longitude ]
end
lat , lon = generate_random_coordinates
puts format ( "%.4f° %s, %.4f° %s" ,
lat . abs , lat >= 0 ? 'N' : 'S' ,
lon . abs , lon >= 0 ? 'E' : 'W' )
<?php
function generateRandomCoordinates ( ) {
$latitude = mt_rand ( - 90 * 10000 , 90 * 10000 ) / 10000 ;
$longitude = mt_rand ( - 180 * 10000 , 180 * 10000 ) / 10000 ;
return [ $latitude , $longitude ] ;
}
list ( $lat , $lon ) = generateRandomCoordinates ( ) ;
printf ( "%.4f° %s, %.4f° %s\n" ,
abs ( $lat ) , $lat >= 0 ? 'N' : 'S' ,
abs ( $lon ) , $lon >= 0 ? 'E' : 'W' ) ;
?>
پیادهسازی دکمه کپی
برای پیادهسازی قابلیت دکمه کپی، میتوانیم از API کلیپ بورد استفاده کنیم. در اینجا یک مثال ساده جاوا اسکریپت آورده شده است:
javascript
function copyToClipboard ( text ) {
navigator . clipboard . writeText ( text ) . then ( ( ) => {
alert ( 'مختصات به کلیپ بورد کپی شد!' ) ;
} , ( err ) => {
console . error ( 'نتوانستیم متن را کپی کنیم: ' , err ) ;
} ) ;
}
// استفاده
const copyButton = document . getElementById ( 'copyButton' ) ;
copyButton . addEventListener ( 'click' , ( ) => {
const coordinates = document . getElementById ( 'coordinates' ) . textContent ;
copyToClipboard ( coordinates ) ;
} ) ;
این تابع میتواند زمانی که دکمه کپی کلیک میشود، فراخوانی شود و مختصات تولید شده را به عنوان متنی که باید کپی شود، ارسال کند.
[... باقی محتوای موجود ...]