Maximum Zoom Imagery Service

  1. সর্বাধিক জুম করা ছবি
  2. MaxZoom অনুরোধ
  3. MaxZoom-এর উত্তর

এক নজরে

Google Maps API ম্যাপ টাইপের ছবির জন্য বিভিন্ন জুম লেভেলে ম্যাপ টাইল প্রদান করে। উদাহরণস্বরূপ, বেশিরভাগ রোডম্যাপ ইমেজারি জুম লেভেল ০ থেকে ১৮ পর্যন্ত উপলভ্য। স্যাটেলাইট ইমেজ আরও বেশি পরিবর্তিত হয় কারণ এই ইমেজ জেনারেট করা হয় না, সরাসরি ছবি তোলা হয়।

যেহেতু স্যাটেলাইট ইমেজ সবসময় রিমোট লোকেশনের জন্য হাই জুম লেভেলে উপলভ্য থাকে না — কম জনসংখ্যা বিশিষ্ট এলাকা বা খোলা সমুদ্র এলাকা — আপনি হয়ত আগে থেকেই কোনও নির্দিষ্ট লোকেশনের জন্য ইমেজের সর্বোচ্চ জুম লেভেল জানতে চাইবেন। MaxZoomService অবজেক্টটি একটি সহজ ইন্টারফেস প্রদান করে, যার মাধ্যমে Google Maps-এ স্যাটেলাইট ইমেজ আছে এমন কোনও নির্দিষ্ট লোকেশনের জন্য সর্বাধিক জুম লেভেল খুঁজে পাওয়া যায়।

MaxZoom অনুরোধ

MaxZoomService অ্যাক্সেস করা অ্যাসিঙ্ক্রোনাস, কারণ Google Maps API-কে এক্সটার্নাল সার্ভারে কল করতে হয়। সেই কারণে, অনুরোধ সম্পূর্ণ হওয়ার পরে এক্সিকিউট করার জন্য আপনাকে একটি কলব্যাক পদ্ধতি পাস করতে হবে। এই কলব্যাক পদ্ধতি ফলাফল প্রসেস করবে।

MaxZoomService-এ অনুরোধ শুরু করতে, getMaxZoomAtLatLng()-এ কল করুন, লোকেশনের LatLng এবং অনুরোধ সম্পূর্ণ হওয়ার পরে এক্সিকিউট করার জন্য একটি কলব্যাক ফাংশন পাস করুন।

MaxZoom Responses

getMaxZoomAtLatLng() যখন কলব্যাক ফাংশনটি এক্সিকিউট করে, তখন এটি দুটি প্যারামিটার পাস করবে:

  • status-এ অনুরোধের MaxZoomStatus রয়েছে।
  • zoom-এ জুম লেভেল আছে। কোনও কারণে পরিষেবা কাজ না করলে, এই ভ্যালু দেখানো হবে না।

status কোড নিম্নলিখিত মানগুলির মধ্যে যেকোনও একটি দেখাতে পারে:

  • OK থেকে বোঝা যায় যে পরিষেবাটি স্যাটেলাইট ইমেজের জন্য সর্বাধিক জুম লেভেল খুঁজে পেয়েছে।
  • ERROR থেকে বোঝা যায় যে MaxZoom অনুরোধ প্রসেস করা যায়নি।

নিচের উদাহরণে টোকিও মেট্রোপলিটনের ম্যাপ দেখানো হয়েছে। ম্যাপের যেকোনও জায়গায় ক্লিক করলে সেই লোকেশনের সর্বাধিক জুম লেভেল দেখানো হয়। (টোকিওর আশেপাশে জুম লেভেল সাধারণত ১৮ থেকে ২১-এর মধ্যে পরিবর্তন হয়।)

TypeScript

let map: google.maps.Map;
let maxZoomService: google.maps.MaxZoomService;
let infoWindow: google.maps.InfoWindow;

function initMap(): void {
  map = new google.maps.Map(document.getElementById("map") as HTMLElement, {
    zoom: 11,
    center: { lat: 35.6894, lng: 139.692 },
    mapTypeId: "hybrid",
  });

  infoWindow = new google.maps.InfoWindow();

  maxZoomService = new google.maps.MaxZoomService();

  map.addListener("click", showMaxZoom);
}

function showMaxZoom(e: google.maps.MapMouseEvent) {
  maxZoomService.getMaxZoomAtLatLng(
    e.latLng as google.maps.LatLng,
    (result: google.maps.MaxZoomResult) => {
      if (result.status !== "OK") {
        infoWindow.setContent("Error in MaxZoomService");
      } else {
        infoWindow.setContent(
          "The maximum zoom at this location is: " + result.zoom
        );
      }

      infoWindow.setPosition(e.latLng);
      infoWindow.open(map);
    }
  );
}

declare global {
  interface Window {
    initMap: () => void;
  }
}
window.initMap = initMap;

জাভাস্ক্রিপ্ট

let map;
let maxZoomService;
let infoWindow;

function initMap() {
  map = new google.maps.Map(document.getElementById("map"), {
    zoom: 11,
    center: { lat: 35.6894, lng: 139.692 },
    mapTypeId: "hybrid",
  });
  infoWindow = new google.maps.InfoWindow();
  maxZoomService = new google.maps.MaxZoomService();
  map.addListener("click", showMaxZoom);
}

function showMaxZoom(e) {
  maxZoomService.getMaxZoomAtLatLng(e.latLng, (result) => {
    if (result.status !== "OK") {
      infoWindow.setContent("Error in MaxZoomService");
    } else {
      infoWindow.setContent(
        "The maximum zoom at this location is: " + result.zoom,
      );
    }

    infoWindow.setPosition(e.latLng);
    infoWindow.open(map);
  });
}

window.initMap = initMap;
উদাহরণ দেখুন