এই নির্দেশিকায় নিরাপত্তা, কর্মক্ষমতা এবং ব্যবহারের দিক থেকে আপনার গুগল ম্যাপস এপিআই-এর ব্যবহারকে সর্বোত্তম করার জন্য বিভিন্ন কৌশল বর্ণনা করা হয়েছে।
নিরাপত্তা
নিরাপত্তা সর্বোত্তম অনুশীলন পর্যালোচনা করা
এপিআই কী হলো প্রজেক্ট-কেন্দ্রিক ক্রেডেনশিয়াল, যার জন্য ইউজার আইডি এবং পাসওয়ার্ডের মতোই সতর্কতা অবলম্বন করা প্রয়োজন। আপনার কী-গুলোকে অনাকাঙ্ক্ষিত ব্যবহার থেকে সুরক্ষিত রাখতে এপিআই নিরাপত্তার সর্বোত্তম অনুশীলনগুলো পর্যালোচনা করুন, কারণ অনাকাঙ্ক্ষিত ব্যবহারের ফলে আপনার অ্যাকাউন্টে কোটার অযাচিত ব্যবহার এবং অপ্রত্যাশিত চার্জ যুক্ত হতে পারে।
ম্যাপস এপিআই অ্যাক্সেস করতে এপিআই কী ব্যবহার করা
গুগল ম্যাপস এপিআই অ্যাক্সেস করার জন্য এপিআই কী হলো পছন্দের প্রমাণীকরণ পদ্ধতি। যদিও ক্লায়েন্ট আইডি ব্যবহার করা এখনও সমর্থিত, এপিআই কী আরও সূক্ষ্ম নিরাপত্তা নিয়ন্ত্রণ প্রদান করে এবং নির্দিষ্ট ওয়েব অ্যাড্রেস, আইপি অ্যাড্রেস, এবং মোবাইল এসডিকে (অ্যান্ড্রয়েড এবং আইওএস)-এর সাথে কাজ করার জন্য এটিকে টিউন করা যায়। একটি এপিআই কী তৈরি এবং সুরক্ষিত করার তথ্যের জন্য, প্রতিটি এপিআই বা এসডিকে-এর "এপিআই কী ব্যবহার" পৃষ্ঠায় যান। (উদাহরণস্বরূপ, ম্যাপস জাভাস্ক্রিপ্ট এপিআই-এর জন্য, এর "এপিআই কী ব্যবহার" পৃষ্ঠাটি দেখুন।)
কর্মক্ষমতা
ত্রুটিগুলি পরিচালনা করতে এক্সপোনেনশিয়াল ব্যাকঅফ ব্যবহার করা
যদি আপনার অ্যাপে অল্প সময়ের মধ্যে অতিরিক্ত বার এপিআই কল করার চেষ্টার কারণে কোনো ত্রুটি দেখা দেয়, যেমন কোটা ত্রুটি, তাহলে অনুরোধগুলো প্রক্রিয়া করার সুযোগ দিতে এক্সপোনেনশিয়াল ব্যাকঅফ ব্যবহার করার কথা বিবেচনা করুন। এক্সপোনেনশিয়াল ব্যাকঅফ ৫০০-এর কাছাকাছি কোডযুক্ত ত্রুটির ক্ষেত্রে সবচেয়ে বেশি কার্যকর।
বিশেষভাবে, আপনার কোয়েরিগুলোর গতি সামঞ্জস্য করুন। আপনার কোডে, প্রতিটি কোয়েরির মধ্যে S সেকেন্ডের একটি অপেক্ষার সময় যোগ করুন। এরপরও যদি কোয়েরিটি কোটা ত্রুটির কারণ হয়, তবে অপেক্ষার সময় দ্বিগুণ করুন এবং তারপর আরেকটি কোয়েরি পাঠান। কোয়েরিটি কোনো ত্রুটি ছাড়াই ফিরে না আসা পর্যন্ত অপেক্ষার সময় সামঞ্জস্য করতে থাকুন।
চাহিদা অনুযায়ী ব্যবহারকারীর মিথস্ক্রিয়ার অনুরোধ পাঠানো
যেসব এপিআই-তে ব্যবহারকারীর মিথস্ক্রিয়া প্রয়োজন, সেগুলোতে শুধুমাত্র চাহিদার ভিত্তিতেই অনুরোধ পাঠানো উচিত। এর অর্থ হলো, এপিআই অনুরোধ শুরু করার জন্য ব্যবহারকারীর কোনো একটি কাজ (যেমন on-click ) করার জন্য অপেক্ষা করা, এবং তারপর সেই ফলাফল ব্যবহার করে একটি মানচিত্র লোড করা, গন্তব্য নির্ধারণ করা বা উপযুক্ত তথ্য প্রদর্শন করা। অন-ডিমান্ড পদ্ধতি ব্যবহার করলে এপিআই-তে অপ্রয়োজনীয় অনুরোধ এড়ানো যায়, ফলে এপিআই-এর ব্যবহার কমে আসে।
মানচিত্র চলার সময় ওভারলে বিষয়বস্তু প্রদর্শন এড়ানো
ব্যবহারকারী যখন ম্যাপটি নাড়াচাড়া করছেন, ঠিক সেই সময়ে ম্যাপের উপর কাস্টম ওভারলে কন্টেন্ট দেখানোর জন্য Draw() ব্যবহার করা থেকে বিরত থাকুন। যেহেতু ব্যবহারকারী যতবার ম্যাপটি নাড়াচাড়া করেন, ততবারই এটি নতুন করে আঁকা হয়, তাই একই সময়ে ম্যাপের উপর ওভারলে কন্টেন্ট রাখলে ল্যাগ বা ভিজ্যুয়াল স্টাটারিং হতে পারে। ব্যবহারকারী প্যানিং বা জুমিং বন্ধ করার পরেই কেবল ম্যাপ থেকে ওভারলে কন্টেন্ট যোগ বা অপসারণ করুন।
Draw পদ্ধতিতে নিবিড় ক্রিয়াকলাপ এড়ানো
সাধারণত, Draw() মেথডে পারফরম্যান্স-নিবিড় অঙ্কন-বহির্ভূত অপারেশন এড়িয়ে চলাই ভালো। উদাহরণস্বরূপ, আপনার Draw() মেথডের কোডে নিম্নলিখিত বিষয়গুলো এড়িয়ে চলুন:
- যেসব কোয়েরি বিপুল পরিমাণ কন্টেন্ট ফেরত দেয়।
- প্রদর্শিত ডেটাতে অনেক পরিবর্তন আনা হয়েছে।
- ডকুমেন্ট অবজেক্ট মডেল (DOM)-এর একাধিক উপাদান পরিচালনা করা।
এই অপারেশনগুলো পারফরম্যান্স কমিয়ে দিতে পারে এবং ম্যাপ রেন্ডার হওয়ার সময় ল্যাগ বা ভিজ্যুয়াল স্টাটারিং সৃষ্টি করতে পারে।
মার্কার হিসেবে রাস্টার ইমেজ ব্যবহার করা
মানচিত্রে কোনো স্থান চিহ্নিত করতে মার্কার যোগ করার সময় .PNG বা .JPG ফরম্যাটের ছবির মতো রাস্টার ইমেজ ব্যবহার করুন। স্কেলেবল ভেক্টর গ্রাফিক্স (SVG) ইমেজ ব্যবহার করা থেকে বিরত থাকুন, কারণ মানচিত্রটি পুনরায় আঁকার সময় SVG ইমেজ রেন্ডার করতে ল্যাগ বা বিলম্ব হতে পারে।
মার্কার অপ্টিমাইজ করা
অপ্টিমাইজেশন অনেকগুলো মার্কারকে একটিমাত্র স্ট্যাটিক এলিমেন্ট হিসেবে রেন্ডার করার মাধ্যমে পারফরম্যান্স উন্নত করে। যেখানে প্রচুর সংখ্যক মার্কারের প্রয়োজন হয়, সেখানে এটি কার্যকর। ডিফল্টরূপে, ম্যাপস জাভাস্ক্রিপ্ট এপিআই (Maps JavaScript API) সিদ্ধান্ত নেবে যে কোনো মার্কার অপ্টিমাইজ করা হবে কি না। যখন মার্কারের সংখ্যা অনেক বেশি থাকে, তখন ম্যাপস জাভাস্ক্রিপ্ট এপিআই অপ্টিমাইজেশনসহ মার্কারগুলো রেন্ডার করার চেষ্টা করে। সব মার্কার অপ্টিমাইজ করা সম্ভব নয়; কিছু পরিস্থিতিতে, ম্যাপস জাভাস্ক্রিপ্ট এপিআই-কে অপ্টিমাইজেশন ছাড়াই মার্কার রেন্ডার করার প্রয়োজন হতে পারে। অ্যানিমেটেড জিআইএফ (GIF) বা পিএনজি (PNG)-এর জন্য, অথবা যখন প্রতিটি মার্কারকে একটি পৃথক ডম (DOM) এলিমেন্ট হিসেবে রেন্ডার করতে হয়, তখন অপ্টিমাইজড রেন্ডারিং নিষ্ক্রিয় করুন।
মার্কার ডিসপ্লে পরিচালনা করার জন্য ক্লাস্টার তৈরি করা
মানচিত্রে অবস্থান শনাক্ত করার জন্য মার্কারের প্রদর্শন পরিচালনা করতে, Marker Clusterer লাইব্রেরি ব্যবহার করে একটি মার্কার ক্লাস্টার তৈরি করুন। Marker Clusterer লাইব্রেরিতে নিম্নলিখিত বিকল্পগুলি অন্তর্ভুক্ত রয়েছে:
- গ্রিড সাইজ, যা দিয়ে একটি ক্লাস্টারে কতগুলো মার্কারকে একসাথে দলবদ্ধ করা হবে তা নির্দিষ্ট করা হয়।
- সর্বোচ্চ জুম, ক্লাস্টারটি প্রদর্শনের জন্য সর্বোচ্চ জুম স্তর নির্দিষ্ট করতে।
- গ্রাফিক্স ইমেজগুলোকে মার্কার আইকন হিসেবে ব্যবহারের জন্য ইমেজ পাথ।
ব্যবহার
বাজেট তৈরি করা, কোটা পরিবর্তন করা এবং অ্যালার্ট সেট করা সহ আপনার গুগল ম্যাপস প্ল্যাটফর্মের খরচ পরিচালনা সংক্রান্ত তথ্যের জন্য, ‘খরচ পরিচালনা’ দেখুন।