এরে, আমি কোথায় আছি?


26

ওহ না! আমি একটি বড় জঙ্গলে আটকা পড়েছি (ঠিক আছে, সত্যই নয়, তবে এটি ধরে নিন) এবং আমি জানি না আমি কোথায় আছি!

ধন্যবাদ, আমি আমার ল্যাপটপ এনেছি। তবে যখন আমি 'মানচিত্রগুলি' অনুসন্ধান করেছি, তখন এটি 'কোনও ফলাফল নয়' বলেছিল এবং আমি এটি একটি শেষ রিসোর্ট হিসাবে জিজ্ঞাসা করছি।

দয়া করে এমন একটি প্রোগ্রাম তৈরি করুন যা আমার অবস্থানের দ্রাঘিমাংশ এবং অক্ষাংশকে কোনও দুটি সংখ্যার ফর্ম্যাটে ফেলে দেয়। any two number formatরয়েছে:

  • একটি টিপল।
  • দ্রাঘিমাংশ এবং অক্ষাংশ সহ একটি স্ট্রিং।
  • একটি JSON অবজেক্ট।
  • ইত্যাদি ..

যে কোনও এপিআই বা লাইব্রেরি ব্যবহার করা যেতে পারে। এটি হ'ল আপনি গুগল ম্যাপস ইত্যাদি জিজ্ঞাসা করতে পারেন (আমার ধারণা, তারা তাদের এপিআইগুলি ট্র্যাশ করেনি: \)


19
পাওয়ারশেলের glজন্য রয়েছে Get-Location, দু: খজনকভাবে আমি মনে করি না যে C:\Users\Connorআপনাকে খুব বেশি অরণ্য থেকে পালাতে সহায়তা করবে।
colsw

সি: \ ব্যবহারকারীগণ \ @ কনৌনার> সুডো হ্যাঁ
ম্যাথু রোহ

উত্তর:


72

গণিত, 4 বাইট

এরে, আমি কোথায় আছি?

Here

মূল্যায়ন GeoPosition[{latitude, longitude}]


5
o_O ম্যাথামেটিকার কি এর জন্য বিল্টিন ছিল?
ম্যাথু রোহ

4
@ সিআইজিএসইজিভি অবশ্যই ... (স্নিপেট # 4)
মার্টিন এন্ডার

33
ম্যাথামেটিকার সবকিছুর জন্য একটি
অন্তর্নির্মিত বিষয় রয়েছে

10
আরও ভাল: কমান্ডটি Sunset[Here] - Nowসূর্যাস্ত না হওয়া পর্যন্ত সময়ের পরিমাণটি সঠিকভাবে প্রদান করে।
গ্রেগ মার্টিন

4
প্রশ্নের চেয়ে বেশি ভোট পেয়ে একটি উত্তর দেখে আমি আনন্দিত। অভিনন্দন 👏👏👏
ম্যাথু রোহ

11

জাভাস্ক্রিপ্ট (ES6), 89 82 বাইট

navigator.geolocation.watchPosition(x=>alert([(y=x.coords).latitude,y.longitude]))

এটি অনলাইন চেষ্টা করুন! (কোনও কারণে, এটি স্নিপেটে কাজ করছে না)।

ব্যাখ্যা

navigatorঅবজেক্টটি বিওমের একটি অংশ । geolocationএটির একটি সম্পত্তি এবং এটি একটি অবজেক্ট, এতে ব্যবহারকারীর ভূ-সামাজিক ডেটা থাকে। বস্তুর watchPosition()একটি পদ্ধতি geolocation। এটি একটি কলব্যাক ফাংশন নেয় যা ভূ-সামাজিক তথ্য পুনরুদ্ধারের পরে কার্যকর করা হয়। কলব্যাক ফাংশন x=>alert((y=x.coords).latitude+","+y.longitude)একটি বেনামী (ল্যামডা) ফাংশন যা একটি বস্তুর মধ্যে লাগে xএবং alert()গুলি latitudeএবং longitudeবৈশিষ্ট্য x.coordsএকটি কমা দ্বারা পৃথক করা হয়। নোট করুন যে xকলব্যাক ফাংশনটি কল করার সময় অবজেক্টটি কলব্যাক ফাংশনে watchPosition()স্থানান্তরিত হয় (অর্থাত্ ভূ-সম্পর্কিত তথ্য পুনরুদ্ধারের পরে)।


দ্রষ্টব্য: জিপিএস উপলব্ধ থাকলে ভৌগলিক ডেটা জিপিএস ভিত্তিক, অন্যথায় এটি আইপি ভিত্তিক।


2
watchPositionপরিবর্তে getCurrentPosition5 বাইট সংরক্ষণ করুন। alert([(y=x.coords).latitude,y.longitude])আরও 2 বাঁচায়
জোহান কার্লসন

1 টি অক্ষর ছোট, ত্রুটি ছুঁড়েছে:for(f in r=navigator.geolocation)r=r[f](x=>alert((y=x.coords).latitude+","+y.longitude))
ব্যবহারকারী 2428118

3
এটি প্রকৃতপক্ষে একটি বিরল ঘটনা যখন জেএস তার অত্যধিক দীর্ঘ সম্পত্তির নামের উপর নির্ভর করে প্রতিযোগিতামূলক হতে পারে।
শেগি

@ জোহানকার্লসন ধন্যবাদ! এটি বাস্তবায়িত!
অর্জুন

@ শেগি সত্য, সত্যই।
অর্জুন

8

অনুরোধের সাথে পাইথন, 101 100 75 বাইট

4 বাইট সংরক্ষণ করেছেন @ @ышев এর জন্য ধন্যবাদ шев

21 রাইট @ রডের জন্য ধন্যবাদ সংরক্ষণ করা হয়েছে

from requests import*;print(get('http://su0.ru/auls').text.split(',')[5:7])

যদি এটি পাইথন 2 হয়, আপনি প্রথম
বন্ধন

একটি সংক্ষিপ্ত url ব্যবহার করা ভাল? উদাহরণস্বরূপ, su0.ru/aul । সুতরাং আপনি 4 বাইট সংরক্ষণ করবেন।
Мал шевышев

আপনার এই সমস্ত ফর্ম্যাটিংয়ের দরকার নেই, from requests import*;print(get('http://ip-api.com/json').text.split(',')[5:7])যথেষ্ট হওয়া উচিত
রড

লিংক ভেঙে গেছে! আপনি যদি একটি ইউআরএল সংক্ষিপ্ত ব্যবহার করতে চলেছেন তবে একটি প্রতিষ্ঠিত ব্যবহার করা ভাল।
জাকব

5

পাওয়ারশেল, 130 বাইট

Add-Type -A System.Device;($a=[Device.Location.GeoCoordinateWatcher]::new()).Start();for(;($b=$a|% Po*n|% L*)|% I*){}$b|select L*e

Ungolfed:

Add-Type -AssemblyName System.Device #Required to access System.Device.Location namespace
$GeoWatcher = New-Object System.Device.Location.GeoCoordinateWatcher #Create the required object
$GeoWatcher.Start() #Begin resolving current locaton
whille ($GeoWatcher.Status -ne "Ready") do { sleep -Milliseconds 100 } #Wait for discovery.
$GeoWatcher.Position.Location | Select Latitude,Longitude #Select the relevent results.

হিসাবে প্রত্যাবর্তন:

PS C:\users\sweeneyc\Desktop> Add-Type -A System.Device;($a=[Device.Location.GeoCoordinateWatcher]::new()).Start();for(;($b=$a|% Po*n|% L*)|% I*){}$b|select L*e

        Latitude         Longitude
        --------         ---------
53.4064177191653 -6.36202495701332

দেখা যাচ্ছে এখানে করার একটি উপায় আছে তবে এটি এত সুন্দর নয়।

বোনাস: আপনার বর্তমান অবস্থানে গুগল মানচিত্র খোলে।

Add-Type -A System.Device;($a=[Device.Location.GeoCoordinateWatcher]::new()).Start();for(;($b=$a|% Po*n|% L*)|% I*){};saps "https://www.google.ie/maps/@$($b.Latitude),$($b.Longitude)z"

ব্যবহার করে 3 বাইট সংরক্ষণ করতে পারে TryStartতবে এটি trueপাইপলাইনে আউটপুট দেয় এবং এটি দমন করতে আরও বেশি খরচ হয়।

Add-Type -A System.Device;($a=[Device.Location.GeoCoordinateWatcher]::new()).TryStart($true,[int]9e8);$a|% Po*n|% L*|select L*e

পাওয়ারশেল (প্রতিযোগিতা না করা), 44 বাইট

(irm freegeoip.net/xml).Response|select *ude

একটি বাহ্যিক পরিষেবা ব্যবহার করা হয়েছে যেহেতু পাওয়ারশেলের 'বর্তমান অবস্থান' এর জন্য কোনও অভ্যন্তরীণ বিল্টিন নেই - এটি আইপি-ভিত্তিক ভূ-অবস্থান, সুতরাং প্রায় নিশ্চিতভাবেই আপনার আসল অবস্থানটি ফিরে আসবে না, এটি আপনার আইএসপির জন্য একটি 'ডিফল্ট' অবস্থান ফিরিয়ে দেবে, এবং যদি আপনি চালনা করেন এটি কোনও ভিপিএনের বাইরে যেখানেই প্রস্থানস্থান হবে সেখানে উপস্থিত থাকবে।

ওয়্যারলেস-ম্যাক-অ্যাড্রেস জিওলোকেশন পদ্ধতিতে কাজ করার জন্য আমি গুগল ম্যাপস এপিআই পাওয়ার চেষ্টা করেছি (গল্ফ অনুশীলন হিসাবে নয়), তবে এটি সঠিক বা গল্ফযোগ্য far

ফলাফলের অসম্পূর্ণতার কারণে অ-প্রতিযোগী হিসাবে চিহ্নিত হয়েছে।

PS C:\Users\sweeneyc> (irm freegeoip.net/xml).Response|select *ude
Latitude Longitude
-------- ---------
53.3472  -6.2439

Central Dublin, Irelandঅনুসন্ধান করা হলে এটি প্রদর্শিত হয়, তবে আমি বর্তমানে শহরের কেন্দ্রের বাইরে কিছুটা দূরে, ফিরে আসা স্থান থেকে প্রায় 8 মাইল দূরে।


সি # GeoCoordinateWatcherতে একটি TryStartপদ্ধতি রয়েছে যা আপনি চেষ্টা করে দেখতে পারেন যা দেখে মনে হয় স্থিতিটি Readyলুপ করার পরিবর্তে ফিরে আসে । যদি সেই পদ্ধতিটি স্পষ্টত উপলব্ধ থাকে।
TheLethalCoder

1
@ লেথলকোডার প্রথম জিনিসটি আমি দেখেছিলাম, সেখানে উদাহরণটিতে যোগ করা হয়েছে, এটি সামগ্রিকভাবে কেবলমাত্র 3 বাইট সঞ্চয় করে, তবে trueলাত / লম্বা আউটপুট দেওয়ার আগে এটি পাইপলাইনে ডাম্প ফেলে দেয় এবং আমি মনে করি যে সম্ভবত ফলাফলটি লঙ্ঘন করেছে যখন আউটপুট হবে ।
কোলস

@TheLethalCoder পারা feasibly একটি বাইট (গুলি) সংরক্ষণ [int]9e8অংশ যখন আপনি সময়সীমার সেট TryStartকিন্তু আমি এটা দিয়ে কাজ করতে না পেতে পারেন 9999999এবং [int]9e8একটি অতিরিক্ত 9. যোগ হিসাবে একই
colsw

2

(প্রতিযোগিতা না করা) অ্যাঙ্গল্ফ , 110 107 বাইট

❦™navigator.geolocation.getCurrentPosition#x=>™alert##y=x.coords▷.latitude+","+y.longitude▷▷●
    ❦                                   Define an IIFE
       ™                                Get the scope
         navigator                      Get JavaScript's navigator object from the scope
             geolocation                Get the geolocation property of the navigator object
                 getCurrentPosition     Get the current position and execute a function
                     x=>                Define a function with x as a parameter
                         ™              Get the scope
                            alert       Call alert and alert the following string:
                         #y=x.coords▷ Define y with the value of the coordinates of x
                         latitude       Get y's latitude
                         +","           Append "," to the string
                         +y.longitude   Append the longitude to the string
    ●                                   Close the IIFE and call it with the scope

1
সাইটে স্বাগতম! অ্যাঙ্গল্ফ সম্পর্কে আমি কোনও তথ্য খুঁজে পাচ্ছি বলে মনে হচ্ছে না; আপনি কি তার ওয়েবসাইট লিঙ্ক মনে করতে চান?
ইটিএইচ প্রোডাকশনগুলি

github.com/XtremePlayzCODE/angled/blob/master/angolf.js , দেরী জবাবের জন্য দুঃখিত
thatoneuser

1
সাইটে স্বাগতম! এর থেকেও কি আপনার কোনও পুরনো লিঙ্ক আছে? যদি তা না হয় তবে ভাষাটিকে চ্যালেঞ্জের চেয়ে নতুন বলে মনে করা হয়। শিরোনামে (অ-প্রতিযোগিতামূলক) চ্যালেঞ্জের চেয়ে নতুন ভাষায় উত্তরগুলি চিহ্নিত করার প্রথাটি রয়েছে
ধ্বংসাত্মক লেবু

আমার কাছে এখন অ্যাঙ্গল্ফ ছিল 3 মাস, তবে আমি এখনই এটি গিটহাবে আপলোড করেছি কারণ এর আগে এর কোনও লিঙ্ক ছিল না
thatoneuser

@thatoneuser দুর্ভাগ্যবশত এই দৃষ্টিশক্তি ভাষায় প্রকাশিত হয়েছে হিসাবে "প্রতিদ্বন্দ্বী" হিসাবে চিহ্নিত করা চিহ্ন হিসাবে এটি noncompeting (আপনি অংশ নিতে পারেন এই উপায়ে এবং Garner upvotes দয়া করে, কিন্তু আপনি একটি গ্রহণযোগ্য মাংসপেশীর আক্ষেপ চিহ্ন জন্য বিবেচনা করা চলছে হবে প্রয়োজন।
রোহান Jhunjhunwala

0

সি #, 132 বাইট

_=>{var w=new System.Device.Location.GeoCoordinateWatcher();w.Start();var c=w.Position.Location;return c.Longitude+","+c.Latitude;};

0

এক্সেল ভিবিএ (উইন্ডোজ, অফিস 2016+ কেবল), 278 272 বাইট

ব্যবহারের জন্য উইন্ডোজ, অফিস 2016+ এ সীমিত Microsoft.Mashup.OleDb.1প্রদানকারী

সম্পূর্ণ subরুটিন যা কোনও ইনপুট নেয় না এবং অতিরিক্ত তথ্য সহ আপনার টাইপ করা টেবিল হিসাবে বর্তমান অবস্থানকে আউটপুট করে Excel.ListObject

Sub a
ThisWorkbook.Queries.Add"x","let S=Json.Document(Web.Contents(""su0.ru/auls""))in S
With Sheet1.ListObjects.Add(0,"OLEDB;Provider=Microsoft.Mashup.OleDb.1;Data Source=$Workbook$;Location=x",,,[A1]).QueryTable
.CommandText="SELECT * FROM [x]
.Refresh
End With
End Sub

উদাহরণস্বরূপ আউটপুট সুস্পষ্ট কারণে বাদ দেওয়া হয়েছে।

[Sheet1]ওভার ব্যবহারের জন্য বাইটSheets(1)


0

সুইফট 4 , 125 117 96 বাইট

দুর্ভাগ্যক্রমে, এটি কেবল স্থানীয়ভাবে পরীক্ষা করা যেতে পারে।

import CoreLocation;var c=CLLocationManager().location!.coordinate;print(c.longitude,c.latitude)
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.