ওয়েব ব্রাউজার থেকে জিপিএস অবস্থান পান


164

আমি একটি মোবাইল ভিত্তিক ওয়েব সাইট বিকাশ করছি, সেখানে আমি গুগল ম্যাপকে একীভূত করেছি, আমাকে Google মানচিত্রের 'থেকে' ক্ষেত্রটি গতিশীলভাবে পূরণ করতে হবে।

ওয়েব ব্রাউজার থেকে জিপিএসের অবস্থান পাওয়া এবং এটি একটি গুগল ম্যাপের 'থেকে' ক্ষেত্রে গতিশীলভাবে পূরণ করা সম্ভব?


2
আপনি কোন মোবাইলগুলি সমর্থন করার পরিকল্পনা করছেন?
রোভল্যান্ড শ

আমি সমস্ত মোবাইল ব্রাউজার সমর্থন করতে চাই, তবে আই-ফোন হ'ল উচ্চ অগ্রাধিকার
গণেশ

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

16
যদি প্রয়োজনটি শুধুমাত্র অবস্থান সম্পর্কিত হয় তবে একটি নেটিভ অ্যাপ্লিকেশনটি প্রচুর পরিমাণে ওভারকিল করে। আইওএস একমাত্র মোবাইল নয়, এটি কেবল একটি অগ্রাধিকার।
গোনালো ভিগা

উত্তর:


194

আপনি যদি জিওলোকেশন এপিআই ব্যবহার করেন তবে এটি নীচের কোডটি ব্যবহার করার মতোই সহজ।

navigator.geolocation.getCurrentPosition(function(location) {
  console.log(location.coords.latitude);
  console.log(location.coords.longitude);
  console.log(location.coords.accuracy);
});

আপনি গুগলের ক্লায়েন্ট অবস্থান API ব্যবহার করতে সক্ষম হতে পারেন ।

এই সমস্যাটিতে আলোচনা করা হয়েছে কোনও মোবাইল ব্রাউজারের জিপিএসের অবস্থান সনাক্ত করা কি সম্ভব? এবং মোবাইল ব্রাউজার থেকে অবস্থানের ডেটা পান । আপনি আরও তথ্য খুঁজে পেতে পারেন।


গুগল ক্লায়েন্ট অবস্থান এপিআই এখনও প্রায় উল্লেখ করা হয়েছে? প্রদত্ত লিঙ্কটি গুগল লোডার
শান এন

1
আমি উপলব্ধ পৃষ্ঠাগুলির মধ্যে একটি হিসাবে এটি পৃষ্ঠাতে দেখতে পাচ্ছি না। - আপনি গুগল অক্ষাংশ API: code.google.com/apis/latitude- এ ব্যবহার করতে সক্ষম হতে পারেন - এটির মাধ্যমে ক্লায়েন্টের বর্তমান অবস্থান পাওয়া সম্ভব: কোড. google.com/apis/latitude/v1/…
dochoffmitted

1
ভবিষ্যতের পাঠকদের জন্য, নির্ভুলতাটি মিটারে পরিমাপ করা হয়
johnnyRose

হাই আমরা কোডিংয়ের মাধ্যমে ভাগ করে নেওয়ার অবস্থানটি স্বয়ংক্রিয়ভাবে সক্ষম করতে পারি
মিঃ তোমার

2
এটি কি আপনার অবস্থান ব্যবহারের অনুরোধ করে?
জ্যাক

21

আরও কিছু নির্দিষ্ট উত্তর দিতে। এইচটিএমএল 5 আপনাকে ভূ-স্থানাঙ্কগুলি পেতে অনুমতি দেয় এবং এটি একটি সুন্দর শালীন কাজ করে। জিওলোকেশনের জন্য সামগ্রিকভাবে ব্রাউজার সমর্থনটি বেশ ভাল, ie7 এবং ie8 (এবং অপেরা মিনি) ব্যতীত সমস্ত বড় ব্রাউজারগুলি। আইই 9 কাজটি করে তবে সবচেয়ে খারাপ অভিনয় করে। চেকআউট ক্যানিউজ.কম:

http://caniuse.com/#search=geol

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


dotnetcurry.com/aspnet-mvc/782/… হ'ল এসপিএন এমভিসি পরিবেশে বাস্তবায়নের জন্য একটি সহজ রেফারেন্স
ওয়াল্টার ডি জং ২ '

13

এটি ব্যবহার করুন এবং আপনি সমস্ত তথ্য http://www.w3schools.com/html/html5_geolocation.asp এ পাবেন

<script>
var x = document.getElementById("demo");
function getLocation() {
    if (navigator.geolocation) {
        navigator.geolocation.getCurrentPosition(showPosition);
    } else {
        x.innerHTML = "Geolocation is not supported by this browser.";
    }
}
function showPosition(position) {
    x.innerHTML = "Latitude: " + position.coords.latitude + 
    "<br>Longitude: " + position.coords.longitude; 
}
</script>

1
কেবলমাত্র একটি নোট: getCurrentPosition () এবং ওয়াচ পজিশন () আর অনিরাপদ উত্স নিয়ে কাজ করে না। এই বৈশিষ্ট্যটি ব্যবহার করার জন্য, আপনার অ্যাপ্লিকেশনটিকে সুরক্ষিত উত্স, যেমন এইচটিটিপিএস-এ স্যুইচ করা বিবেচনা করা উচিত।
ব্যবহারকারী 2589273

4

নেই ভূঅবস্থান এপিআই কিন্তু ব্রাউজার সমর্থনের বর্তমানে বরং মাটিতে পাতলা। বেশিরভাগ সাইটগুলিতে এই জাতীয় জিনিসগুলির জন্য যত্নশীল একটি জিওআইপি ডাটাবেস ব্যবহার করে (যেমন কোনও সিস্টেমের ত্রুটি সম্পর্কে স্বাভাবিক প্রোভিসিস সহ)। আপনি ফায়ার leগলের মতো ব্যবহারকারীর সহযোগিতা প্রয়োজন তৃতীয় পক্ষের পরিষেবাগুলিও দেখতে পারেন


1
আপনার দ্রুত প্রতিক্রিয়া জন্য অনেক ধন্যবাদ। যদি সম্ভব হয় তবে আপনি কি আমাকে আরও কিছু টিপস সরবরাহ করতে পারেন ...
গণেশ

2

লক্ষণীয়

/*
  function geo_success(position) {
    do_something(position.coords.latitude, position.coords.longitude);
  }

  function geo_error() {
    alert("Sorry, no position available.");
  }

  var geo_options = {
    enableHighAccuracy: true,
    maximumAge        : 30000,
    timeout           : 27000
  };

  var wpid = navigator.geolocation.watchPosition(geo_success, geo_error, geo_options);
  */
  getLocation(): Observable<Position> {
    return Observable.create((observer) => {
      const watchID = navigator.geolocation.watchPosition((position: Position) => {
        observer.next(position);
      });
      return () => {
        navigator.geolocation.clearWatch(watchID);
      };
    });
  }

  ngOnDestroy() {
    this.sub.unsubscribe();
  }

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.