অক্ষাংশ এবং দ্রাঘিমাংশ মান সহ অ্যান্ড্রয়েডে একটি অবস্থান অবজেক্ট তৈরি করা


138

আমার একটি প্রোগ্রাম রয়েছে যেখানে আমি কোনও ডেটাবেজে কোনও অক্ষাংশ এবং দ্রাঘিমাংশের মান সংরক্ষণ করি।

আমি এই স্থানাঙ্কগুলির এবং আমার বর্তমান অবস্থানের মধ্যে দূরত্ব পেতে চাই।

লোকেশন ক্লাসে দুটি লোকেশন অবজেক্টের মধ্যে দূরত্ব নির্ধারণের জন্য একটি সহজ পদ্ধতি রয়েছে, সুতরাং আমি অনুভব করেছি যে আমি স্থানাঙ্কগুলির সাথে একটি অবস্থান অবজেক্ট তৈরি করব, তারপরে পদ্ধতিটি কল করুন।

এটি করার কোনও সহজ উপায় আছে? এছাড়াও, যদি অন্য কোনও নির্ভরযোগ্য, মোটামুটি সহজ সমীকরণ থাকে যা জিনিসগুলিকে খুব বেশি নাড়াচাড়া করে না, এটিও কার্যকর হবে। ধন্যবাদ।

(Android.location.Location)


উত্তর:


309

ধরে নিচ্ছি যে ইতিমধ্যে আপনার বর্তমান অবস্থানের সাথে কোনও অবস্থানের বিষয় রয়েছে।

Location targetLocation = new Location("");//provider name is unnecessary
targetLocation.setLatitude(0.0d);//your coords of course
targetLocation.setLongitude(0.0d);

float distanceInMeters =  targetLocation.distanceTo(myLocation);

1
এই উত্তরের মন্তব্য হিসাবে +1, সংক্ষিপ্ত এবং সহজ হলেও বাস্তবে অত্যন্ত সহায়ক ছিল। আপনাকে ধন্যবাদ এক্সেক্সপেশন আল
সাববি

2
অ্যান্ড্রয়েডের জন্য ডকুমেন্টেশনের সত্যই খারাপ উদাহরণ, এতে বেশ কিছুটা সময় নষ্ট হয়। আমার অন্য প্রশ্নটি মনে করুন আমি জিপিএসের মতো কোনও বৈধ সরবরাহকারী সরবরাহ করি, এটি কি আমাকে বর্তমান অবস্থান দেবে? অন্য কথায় সরবরাহকারীর তাত্পর্যটি কী
উত্সব গুপ্ত

যদি কোনও অবস্থানের অবজেক্টের জন্য আপনার যদি ডিফল্ট মান প্রয়োজন হয় এবং যেহেতু আপনি এটি কোনও দীর্ঘ / দীর্ঘ দিয়ে আরম্ভ করতে পারবেন না, তাই আমি তাদের একটি স্থিতিশীল আরম্ভকারী হিসাবে স্থাপনের পরামর্শ দিই, যেমনstatic { location.setLatitude(0.0d); location.setLongitude(0.0d); }
জেসন হার্টলে

ইয়া আমি 'ডি' লেখাটি মিস করেছিলাম এবং আমি লোকেশন অবজেক্টটি তৈরি করতে পারিনি। মূর্খ ছোট্ট ভুল
zulkarnain shah

1
কেন ইউনিট পরীক্ষায় এটির কোনও প্রভাব হয় না যখন আমি ল্যাট এবং লনকে লোকেশন অবজেক্টে সেট করি। অবস্থান অবজেক্টটি কোনওভাবে নাল!?!?!
ইওকস

30

আপনি তাদের নির্মাতা ব্যবহার করে অবস্থানগুলি তৈরি করতে পারেন , তারপরে অক্ষাংশ এবং দ্রাঘিমাংশ মান নির্ধারণ করতে পারেন।

final Location location = new Location("yourprovidername");
location.setLatitude(1.2345d);
location.setLongitude(1.2345d);

1
@ ডিএসটি কি "yourprovidername"?
নিষিদ্ধ-জিওঞ্জিনিয়ারিং

@ নিষেধাজ্ঞাসমূহের খালি ছেড়ে "" প্রয়োজনীয় নয়।
অ্যালপ আল্টুনেল

13

আমি এর উত্তর আবার দিচ্ছি, কারণ আমার মতো অনেক লোক "providername"আসলে জানেনা কী । কোডের নীচে প্রশ্নের উত্তর দেওয়া হয়েছে:

Location location = new Location(LocationManager.GPS_PROVIDER);
location.setLatitude(23.5678);
location.setLongitude(34.456);

এখানে আমি LocationManager.GPS_PROVIDERসরবরাহকারীর নাম হিসাবে ব্যবহার করছি ।


কেন LocationManager.GPS_PROVIDERএবং কোন বিকল্প রয়েছে যা আমরা বিবেচনা করতে পারি?
নিষিদ্ধ-জিওঞ্জিনিয়ারিং

1
আরও 2 টি রয়েছে, যা প্যাসিভ এবং নেটওয়্যারকোপ্রোভিডার। কেন এবং কী ব্যবহার করবেন তার সুন্দর ব্যাখ্যা এখানে। stackoverflow.com/questions/6775257/…
বিজয় ই

1
যদি locationবস্তুটি ম্যানুয়ালি তৈরি করা হচ্ছে তবে এর চেয়ে খালি স্ট্রিং ব্যবহার করা কি আরও উপযুক্ত হবে না LocationManager.GPS_PROVIDER, LocationManager.PASSIVEবা LocationManager.NETWORK_PROVIDER?
নিষিদ্ধ-জিওঞ্জিনিয়ারিং
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.