সর্বাধিক জুম চিত্র পরিষেবা

  1. সর্বাধিক জুম চিত্র
  2. MaxZoom অনুরোধ
  3. MaxZoom প্রতিক্রিয়া

ওভারভিউ

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

কারণ স্যাটেলাইট চিত্রগুলি দূরবর্তী অবস্থানগুলির জন্য উচ্চ জুম স্তরে সর্বদা উপলব্ধ নয় — অল্প জনবসতিপূর্ণ অঞ্চল বা সমুদ্রের খোলা অঞ্চল — আপনি আগে থেকেই একটি নির্দিষ্ট অবস্থানে চিত্রগুলির জন্য সর্বোচ্চ জুম স্তর জানতে চাইতে পারেন৷ MaxZoomService অবজেক্ট একটি নির্দিষ্ট স্থানে সর্বাধিক জুম স্তর আবিষ্কার করার জন্য একটি সহজ ইন্টারফেস প্রদান করে যার জন্য Google Maps-এ স্যাটেলাইট চিত্র রয়েছে।

MaxZoom অনুরোধ

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

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

MaxZoom প্রতিক্রিয়া

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

  • status অনুরোধের MaxZoomStatus রয়েছে।
  • zoom জুম স্তর রয়েছে। কোনো কারণে পরিষেবা ব্যর্থ হলে, এই মান উপস্থিত হবে না।

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

  • OK নির্দেশ করে যে পরিষেবাটি স্যাটেলাইট চিত্রের জন্য সর্বাধিক জুম স্তর খুঁজে পেয়েছে৷
  • ERROR নির্দেশ করে যে MaxZoom অনুরোধটি প্রক্রিয়া করা যায়নি৷

নিম্নলিখিত উদাহরণটি মেট্রোপলিটান টোকিওর একটি মানচিত্র দেখায়। মানচিত্রের যেকোনো জায়গায় ক্লিক করা সেই অবস্থানে সর্বাধিক জুম স্তর নির্দেশ করে। (টোকিওর আশেপাশে জুমের মাত্রা সাধারণত 18 এবং 21 এর মধ্যে পরিবর্তিত হয়।)

টাইপস্ক্রিপ্ট

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;
উদাহরণ দেখুন

নমুনা চেষ্টা করুন