নতুন বেসম্যাপ স্টাইলিং শীঘ্রই গুগল ম্যাপ প্ল্যাটফর্মে আসছে। মানচিত্র স্টাইলিংয়ের এই আপডেটে একটি নতুন ডিফল্ট রঙ প্যালেট, আধুনিক পিন এবং মানচিত্রের অভিজ্ঞতা এবং ব্যবহারযোগ্যতার উন্নতি অন্তর্ভুক্ত রয়েছে। সমস্ত মানচিত্রের শৈলী মার্চ 2025-এ স্বয়ংক্রিয়ভাবে আপডেট হবে। প্রাপ্যতা এবং আগে কীভাবে নির্বাচন করবেন সে সম্পর্কে আরও তথ্যের জন্য, Google Maps প্ল্যাটফর্মের জন্য নতুন মানচিত্রের শৈলী দেখুন।
এই টিউটোরিয়ালটি আপনাকে দেখায় কিভাবে আপনার অ্যান্ড্রয়েড অ্যাপে কাস্টম স্টাইলিং সহ একটি মানচিত্র যুক্ত করবেন। টিউটোরিয়ালটি কাস্টম স্টাইলিং এর উদাহরণ হিসাবে রাতের মোড ব্যবহার করে।
শৈলী বিকল্পগুলির সাহায্যে আপনি স্ট্যান্ডার্ড Google মানচিত্রের শৈলীগুলির উপস্থাপনা কাস্টমাইজ করতে পারেন, রাস্তা, পার্ক, ব্যবসা এবং অন্যান্য আগ্রহের বিষয়গুলির মতো বৈশিষ্ট্যগুলির ভিজ্যুয়াল প্রদর্শন পরিবর্তন করতে পারেন৷ এর অর্থ হল আপনি মানচিত্রের নির্দিষ্ট উপাদানগুলিতে জোর দিতে পারেন বা মানচিত্রটিকে আপনার অ্যাপের শৈলীর পরিপূরক করতে পারেন৷
স্টাইলিং শুধুমাত্র normal মানচিত্রের প্রকারে কাজ করে। স্টাইলিং ইনডোর ম্যাপকে প্রভাবিত করে না।
GOOGLE_MAPS_API_KEY প্রপার্টির মানের মধ্যে আপনার API কী পেস্ট করুন। আপনি যখন আপনার অ্যাপ তৈরি করেন, গ্র্যাডল অ্যাপের অ্যান্ড্রয়েড ম্যানিফেস্টে API কী কপি করে।
GOOGLE_MAPS_API_KEY=PASTE-YOUR-API-KEY-HERE
আপনার অ্যাপ তৈরি করুন এবং চালান
আপনার কম্পিউটারে একটি অ্যান্ড্রয়েড ডিভাইস সংযুক্ত করুন। আপনার Android ডিভাইসে বিকাশকারী বিকল্পগুলি সক্ষম করতে নির্দেশাবলী অনুসরণ করুন এবং ডিভাইসটি সনাক্ত করতে আপনার সিস্টেম কনফিগার করুন৷ (বিকল্পভাবে, আপনি একটি ভার্চুয়াল ডিভাইস কনফিগার করতে অ্যান্ড্রয়েড ভার্চুয়াল ডিভাইস (AVD) ম্যানেজার ব্যবহার করতে পারেন। একটি এমুলেটর নির্বাচন করার সময়, নিশ্চিত করুন যে আপনি একটি ছবি বাছাই করেছেন যাতে Google API গুলি অন্তর্ভুক্ত থাকে। আরও বিশদ বিবরণের জন্য, শুরু করার নির্দেশিকা দেখুন।)
অ্যান্ড্রয়েড স্টুডিওতে, রান মেনু বিকল্পে ক্লিক করুন (বা প্লে বোতাম আইকন)। অনুরোধ হিসাবে একটি ডিভাইস চয়ন করুন.
অ্যান্ড্রয়েড স্টুডিও গ্রেডলকে অ্যাপটি তৈরি করতে আহ্বান জানায় এবং তারপরে ডিভাইসে বা এমুলেটরে অ্যাপটি চালায়। আপনি অন্ধকার (নাইট মোড) স্টাইলিং সহ একটি মানচিত্র দেখতে পাবেন, এই পৃষ্ঠার চিত্রের অনুরূপ।
সমস্যা সমাধান:
আপনি যদি একটি মানচিত্র দেখতে না পান, তবে উপরে বর্ণিত হিসাবে আপনি একটি API কী পেয়েছেন এবং এটি অ্যাপে যোগ করেছেন কিনা তা পরীক্ষা করুন। API কী সম্পর্কে ত্রুটি বার্তাগুলির জন্য অ্যান্ড্রয়েড স্টুডিওর অ্যান্ড্রয়েড মনিটরে লগ ইন চেক করুন৷
টিউটোরিয়ালের এই অংশটি স্টাইলডম্যাপ অ্যাপের সবচেয়ে গুরুত্বপূর্ণ অংশগুলি ব্যাখ্যা করে, আপনাকে কীভাবে অনুরূপ অ্যাপ তৈরি করতে হয় তা বুঝতে সাহায্য করতে।
একটি JSON শৈলী বস্তু ধারণকারী একটি সম্পদ যোগ করুন
আপনার ডেভেলপমেন্ট প্রজেক্টে একটি রিসোর্স যোগ করুন, যাতে আপনার শৈলীর ঘোষণা JSON ফর্ম্যাটে থাকে। আপনি একটি কাঁচা সম্পদ বা একটি স্ট্রিং ব্যবহার করতে পারেন, যেমনটি নীচের উদাহরণগুলিতে দেখানো হয়েছে।
কাঁচা সম্পদ
/res/raw/style_json.json এ একটি কাঁচা সম্পদ সংজ্ঞায়িত করুন, যেখানে নাইট-মোড স্টাইলিং-এর জন্য JSON শৈলী ঘোষণা রয়েছে:
/res/values/style_strings.xml এ একটি স্ট্রিং রিসোর্স সংজ্ঞায়িত করুন, যেখানে নাইট-মোড স্টাইলিং-এর জন্য JSON শৈলী ঘোষণা রয়েছে। এই টিউটোরিয়ালটি স্ট্রিং নাম style_json ব্যবহার করে। এই ফাইলে আপনাকে উদ্ধৃতি চিহ্নগুলি এড়াতে একটি ব্যাকস্ল্যাশ ব্যবহার করতে হবে:
নিম্নলিখিত কোড নমুনা অনুমান করে যে আপনার প্রকল্পটিতে style_json নামে একটি স্ট্রিং সংস্থান রয়েছে:
packagecom.example.styledmap;importandroid.os.Bundle;importandroid.support.v7.app.AppCompatActivity;importandroid.util.Log;importcom.google.android.gms.maps.CameraUpdateFactory;importcom.google.android.gms.maps.GoogleMap;importcom.google.android.gms.maps.OnMapReadyCallback;importcom.google.android.gms.maps.SupportMapFragment;importcom.google.android.gms.maps.model.LatLng;importcom.google.android.gms.maps.model.MapStyleOptions;/***AstyledmapusingJSONstylesfromastringresource.*/publicclassMapsActivityStringextendsAppCompatActivityimplementsOnMapReadyCallback{privatestaticfinalStringTAG=MapsActivityString.class.getSimpleName();@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);//Retrievethecontentviewthatrendersthemap.setContentView(R.layout.activity_maps_string);//GettheSupportMapFragmentandregisterforthecallback//whenthemapisreadyforuse.SupportMapFragmentmapFragment=(SupportMapFragment)getSupportFragmentManager().findFragmentById(R.id.map);mapFragment.getMapAsync(this);}/***Manipulatesthemapwhenit's available.*TheAPIinvokesthiscallbackwhenthemapisreadyforuse.*/@OverridepublicvoidonMapReady(GoogleMapgoogleMap){//CustomisethestylingofthebasemapusingaJSONobjectdefined//inastringresourcefile.FirstcreateaMapStyleOptionsobject//fromtheJSONstylesstring,thenpassthistothesetMapStyle//methodoftheGoogleMapobject.booleansuccess=googleMap.setMapStyle(newMapStyleOptions(getResources().getString(R.string.style_json)));if(!success){Log.e(TAG,"Style parsing failed.");}//Positionthemap's camera near Sydney, Australia.googleMap.moveCamera(CameraUpdateFactory.newLatLng(newLatLng(-34,151)));}}
স্টাইল করা মানচিত্র একটি মানচিত্রে রং এবং অন্যান্য শৈলী পরিবর্তন প্রয়োগ করতে দুটি ধারণা ব্যবহার করে:
নির্বাচকরা ভৌগলিক উপাদানগুলি নির্দিষ্ট করে যা আপনি মানচিত্রে স্টাইল করতে পারেন৷ এর মধ্যে রয়েছে রাস্তা, পার্ক, জলাশয় এবং আরও অনেক কিছু, সেইসাথে তাদের লেবেল। নির্বাচকদের মধ্যে বৈশিষ্ট্য এবং উপাদানগুলি অন্তর্ভুক্ত রয়েছে, যা featureType এবং elementType বৈশিষ্ট্য হিসাবে নির্দিষ্ট করা হয়েছে।
স্টাইলারগুলি হল রঙ এবং দৃশ্যমানতার বৈশিষ্ট্য যা আপনি মানচিত্রের উপাদানগুলিতে প্রয়োগ করতে পারেন। তারা রঙ, রঙ এবং হালকা/গামা মানগুলির সংমিশ্রণের মাধ্যমে প্রদর্শিত রঙকে সংজ্ঞায়িত করে।
JSON স্টাইলিং বিকল্পগুলির বিশদ বিবরণের জন্য স্টাইল রেফারেন্স দেখুন।
একটি JSON স্টাইলিং অবজেক্ট তৈরি করার দ্রুত উপায় হিসাবে মানচিত্র প্ল্যাটফর্ম স্টাইলিং উইজার্ড ব্যবহার করুন৷ অ্যান্ড্রয়েডের জন্য মানচিত্র SDK মানচিত্র জাভাস্ক্রিপ্ট API হিসাবে একই শৈলী ঘোষণা সমর্থন করে৷
এই টিউটোরিয়ালটি আপনাকে দেখায় কিভাবে আপনার অ্যান্ড্রয়েড অ্যাপে কাস্টম স্টাইলিং সহ একটি মানচিত্র যুক্ত করবেন। টিউটোরিয়ালটি কাস্টম স্টাইলিং এর উদাহরণ হিসাবে রাতের মোড ব্যবহার করে।
শৈলী বিকল্পগুলির সাহায্যে আপনি স্ট্যান্ডার্ড Google মানচিত্রের শৈলীগুলির উপস্থাপনা কাস্টমাইজ করতে পারেন, রাস্তা, পার্ক, ব্যবসা এবং অন্যান্য আগ্রহের বিষয়গুলির মতো বৈশিষ্ট্যগুলির ভিজ্যুয়াল প্রদর্শন পরিবর্তন করতে পারেন৷ এর অর্থ হল আপনি মানচিত্রের নির্দিষ্ট উপাদানগুলিতে জোর দিতে পারেন বা মানচিত্রটিকে আপনার অ্যাপের শৈলীর পরিপূরক করতে পারেন৷
স্টাইলিং শুধুমাত্র normal মানচিত্রের প্রকারে কাজ করে। স্টাইলিং ইনডোর ম্যাপকে প্রভাবিত করে না।
GOOGLE_MAPS_API_KEY প্রপার্টির মানের মধ্যে আপনার API কী পেস্ট করুন। আপনি যখন আপনার অ্যাপ তৈরি করেন, গ্র্যাডল অ্যাপের অ্যান্ড্রয়েড ম্যানিফেস্টে API কী কপি করে।
GOOGLE_MAPS_API_KEY=PASTE-YOUR-API-KEY-HERE
আপনার অ্যাপ তৈরি করুন এবং চালান
আপনার কম্পিউটারে একটি অ্যান্ড্রয়েড ডিভাইস সংযুক্ত করুন। আপনার Android ডিভাইসে বিকাশকারী বিকল্পগুলি সক্ষম করতে নির্দেশাবলী অনুসরণ করুন এবং ডিভাইসটি সনাক্ত করতে আপনার সিস্টেম কনফিগার করুন৷ (বিকল্পভাবে, আপনি একটি ভার্চুয়াল ডিভাইস কনফিগার করতে অ্যান্ড্রয়েড ভার্চুয়াল ডিভাইস (AVD) ম্যানেজার ব্যবহার করতে পারেন। একটি এমুলেটর নির্বাচন করার সময়, নিশ্চিত করুন যে আপনি একটি ছবি বাছাই করেছেন যাতে Google API গুলি অন্তর্ভুক্ত থাকে। আরও বিশদ বিবরণের জন্য, শুরু করার নির্দেশিকা দেখুন।)
অ্যান্ড্রয়েড স্টুডিওতে, রান মেনু বিকল্পে ক্লিক করুন (বা প্লে বোতাম আইকন)। অনুরোধ হিসাবে একটি ডিভাইস চয়ন করুন.
অ্যান্ড্রয়েড স্টুডিও গ্রেডলকে অ্যাপটি তৈরি করতে আহ্বান জানায় এবং তারপরে ডিভাইসে বা এমুলেটরে অ্যাপটি চালায়। আপনি অন্ধকার (নাইট মোড) স্টাইলিং সহ একটি মানচিত্র দেখতে পাবেন, এই পৃষ্ঠার চিত্রের অনুরূপ।
সমস্যা সমাধান:
আপনি যদি একটি মানচিত্র দেখতে না পান, তবে উপরে বর্ণিত হিসাবে আপনি একটি API কী পেয়েছেন এবং এটি অ্যাপে যোগ করেছেন কিনা তা পরীক্ষা করুন। API কী সম্পর্কে ত্রুটি বার্তাগুলির জন্য অ্যান্ড্রয়েড স্টুডিওর অ্যান্ড্রয়েড মনিটরে লগ ইন চেক করুন৷
টিউটোরিয়ালের এই অংশটি স্টাইলডম্যাপ অ্যাপের সবচেয়ে গুরুত্বপূর্ণ অংশগুলি ব্যাখ্যা করে, আপনাকে কীভাবে অনুরূপ অ্যাপ তৈরি করতে হয় তা বুঝতে সাহায্য করতে।
একটি JSON শৈলী বস্তু ধারণকারী একটি সম্পদ যোগ করুন
আপনার ডেভেলপমেন্ট প্রজেক্টে একটি রিসোর্স যোগ করুন, যাতে আপনার শৈলীর ঘোষণা JSON ফর্ম্যাটে থাকে। আপনি একটি কাঁচা সম্পদ বা একটি স্ট্রিং ব্যবহার করতে পারেন, যেমনটি নীচের উদাহরণগুলিতে দেখানো হয়েছে।
কাঁচা সম্পদ
/res/raw/style_json.json এ একটি কাঁচা সম্পদ সংজ্ঞায়িত করুন, যেখানে নাইট-মোড স্টাইলিং-এর জন্য JSON শৈলী ঘোষণা রয়েছে:
/res/values/style_strings.xml এ একটি স্ট্রিং রিসোর্স সংজ্ঞায়িত করুন, যেখানে নাইট-মোড স্টাইলিং-এর জন্য JSON শৈলী ঘোষণা রয়েছে। এই টিউটোরিয়ালটি স্ট্রিং নাম style_json ব্যবহার করে। এই ফাইলটিতে আপনাকে উদ্ধৃতি চিহ্নগুলি এড়াতে একটি ব্যাকস্ল্যাশ ব্যবহার করতে হবে:
নিম্নলিখিত কোড নমুনা অনুমান করে যে আপনার প্রকল্পটিতে style_json নামে একটি স্ট্রিং সংস্থান রয়েছে:
packagecom.example.styledmap;importandroid.os.Bundle;importandroid.support.v7.app.AppCompatActivity;importandroid.util.Log;importcom.google.android.gms.maps.CameraUpdateFactory;importcom.google.android.gms.maps.GoogleMap;importcom.google.android.gms.maps.OnMapReadyCallback;importcom.google.android.gms.maps.SupportMapFragment;importcom.google.android.gms.maps.model.LatLng;importcom.google.android.gms.maps.model.MapStyleOptions;/***AstyledmapusingJSONstylesfromastringresource.*/publicclassMapsActivityStringextendsAppCompatActivityimplementsOnMapReadyCallback{privatestaticfinalStringTAG=MapsActivityString.class.getSimpleName();@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);//Retrievethecontentviewthatrendersthemap.setContentView(R.layout.activity_maps_string);//GettheSupportMapFragmentandregisterforthecallback//whenthemapisreadyforuse.SupportMapFragmentmapFragment=(SupportMapFragment)getSupportFragmentManager().findFragmentById(R.id.map);mapFragment.getMapAsync(this);}/***Manipulatesthemapwhenit's available.*TheAPIinvokesthiscallbackwhenthemapisreadyforuse.*/@OverridepublicvoidonMapReady(GoogleMapgoogleMap){//CustomisethestylingofthebasemapusingaJSONobjectdefined//inastringresourcefile.FirstcreateaMapStyleOptionsobject//fromtheJSONstylesstring,thenpassthistothesetMapStyle//methodoftheGoogleMapobject.booleansuccess=googleMap.setMapStyle(newMapStyleOptions(getResources().getString(R.string.style_json)));if(!success){Log.e(TAG,"Style parsing failed.");}//Positionthemap's camera near Sydney, Australia.googleMap.moveCamera(CameraUpdateFactory.newLatLng(newLatLng(-34,151)));}}
স্টাইল করা মানচিত্র একটি মানচিত্রে রং এবং অন্যান্য শৈলী পরিবর্তন প্রয়োগ করতে দুটি ধারণা ব্যবহার করে:
নির্বাচকরা ভৌগলিক উপাদানগুলি নির্দিষ্ট করে যা আপনি মানচিত্রে স্টাইল করতে পারেন৷ এর মধ্যে রয়েছে রাস্তা, পার্ক, জলাশয় এবং আরও অনেক কিছু, সেইসাথে তাদের লেবেল। নির্বাচকদের মধ্যে বৈশিষ্ট্য এবং উপাদানগুলি অন্তর্ভুক্ত রয়েছে, যা featureType এবং elementType বৈশিষ্ট্য হিসাবে নির্দিষ্ট করা হয়েছে।
স্টাইলারগুলি হল রঙ এবং দৃশ্যমানতার বৈশিষ্ট্য যা আপনি মানচিত্রের উপাদানগুলিতে প্রয়োগ করতে পারেন। তারা রঙ, রঙ এবং হালকা/গামা মানগুলির সংমিশ্রণের মাধ্যমে প্রদর্শিত রঙকে সংজ্ঞায়িত করে।
JSON স্টাইলিং বিকল্পগুলির বিশদ বিবরণের জন্য স্টাইল রেফারেন্স দেখুন।
একটি JSON স্টাইলিং অবজেক্ট তৈরি করার দ্রুত উপায় হিসাবে মানচিত্র প্ল্যাটফর্ম স্টাইলিং উইজার্ড ব্যবহার করুন৷ অ্যান্ড্রয়েডের জন্য মানচিত্র SDK মানচিত্র জাভাস্ক্রিপ্ট API হিসাবে একই শৈলী ঘোষণা সমর্থন করে৷