ডিফল্টরূপে, মূল মানচিত্রে আগ্রহের স্থানগুলো (পিওআই) তাদের সংশ্লিষ্ট আইকনসহ প্রদর্শিত হয়। পিওআই-এর মধ্যে পার্ক, স্কুল, সরকারি ভবন এবং আরও অনেক কিছু অন্তর্ভুক্ত।
এছাড়াও, ম্যাপের ধরন ' normal হলে ব্যবসায়িক POI-গুলো ডিফল্টভাবে ম্যাপে দেখা যায়। ব্যবসায়িক POI-গুলো দোকান, রেস্তোরাঁ, হোটেল এবং এই জাতীয় আরও অনেক ব্যবসাকে বোঝায়। ইনডোর ম্যাপে (ফ্লোর প্ল্যান) ব্যবসায়িক POI-গুলো শুধুমাত্র লাইট মোড ম্যাপেই দেখা যায়।
অ্যান্ড্রয়েডের জন্য প্লেসেস এসডিকে-তে সংজ্ঞায়িত প্লেস আইডি-র সাথে একটি পিওআই (POI) সঙ্গতিপূর্ণ। উদাহরণস্বরূপ, বিনোদন পার্কগুলো পিওআই, কিন্তু জলের ফোয়ারার মতো জিনিসগুলো সাধারণত পিওআই নয় (যদি না সেগুলোর জাতীয় বা ঐতিহাসিক গুরুত্ব থাকে)।
POI-গুলিতে ক্লিক ইভেন্টগুলির জন্য শুনুন
যদি আপনি কোনো ব্যবহারকারীর POI-তে ট্যাপ করার প্রতিক্রিয়ায় সাড়া দিতে চান, তাহলে নিচের কোড স্যাম্পলে দেখানো অনুযায়ী একটি OnPoiClickListener ব্যবহার করতে পারেন:
কোটলিন
internal class OnPoiClickDemoActivity : AppCompatActivity(), OnMapReadyCallback, OnPoiClickListener { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.poi_click_demo) val mapFragment = supportFragmentManager.findFragmentById(R.id.map) as SupportMapFragment mapFragment.getMapAsync(this) } override fun onMapReady(map: GoogleMap) { map.setOnPoiClickListener(this) } override fun onPoiClick(poi: PointOfInterest) { Toast.makeText(this, """Clicked: ${poi.name} Place ID:${poi.placeId} Latitude:${poi.latLng.latitude} Longitude:${poi.latLng.longitude}""", Toast.LENGTH_SHORT ).show() } }
জাভা
class OnPoiClickDemoActivity extends AppCompatActivity implements OnMapReadyCallback, GoogleMap.OnPoiClickListener { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.poi_click_demo); SupportMapFragment mapFragment; mapFragment = (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map); mapFragment.getMapAsync(this); } @Override public void onMapReady(GoogleMap map) { map.setOnPoiClickListener(this); } @Override public void onPoiClick(PointOfInterest poi) { Toast.makeText(this, "Clicked: " + poi.name + "\nPlace ID:" + poi.placeId + "\nLatitude:" + poi.latLng.latitude + " Longitude:" + poi.latLng.longitude, Toast.LENGTH_SHORT).show(); } }
POI-গুলো ম্যাপে ডিফল্টভাবে দেখা যায়, কিন্তু এগুলোর কোনো ডিফল্ট অন-ক্লিক UI নেই। অর্থাৎ, ব্যবহারকারী যখন কোনো POI-তে ট্যাপ করেন, তখন API স্বয়ংক্রিয়ভাবে কোনো তথ্য উইন্ডো বা অন্য কোনো ইউজার ইন্টারফেস প্রদর্শন করে না।
উপরের নমুনাটিতে যেমন দেখানো হয়েছে, আপনি GoogleMap.setOnPoiClickListener(OnPoiClickListener) কল করার মাধ্যমে ম্যাপে OnPoiClickListener সেট করেন। যখন কোনো ব্যবহারকারী একটি POI-তে ক্লিক (ট্যাপ) করেন, তখন আপনার অ্যাপ একটি OnPoiClick(PointOfInterest) ইভেন্ট পায়, যা ব্যবহারকারীর ক্লিক করা পয়েন্ট অফ ইন্টারেস্ট (POI)-টিকে নির্দেশ করে। PointOfInterest টিতে পয়েন্ট অফ ইন্টারেস্টটির অক্ষাংশ/দ্রাঘিমাংশ স্থানাঙ্ক, প্লেস আইডি এবং নাম থাকে।
মানচিত্রে POI দেখানো বন্ধ করুন
আপনি সমস্ত POI-তে অথবা POI-এর নির্দিষ্ট বিভাগগুলিতে কাস্টম স্টাইল প্রয়োগ করে আগ্রহের স্থানগুলি (POI) লুকাতে পারেন।
নিম্নলিখিত JSON স্টাইলের ঘোষণাটি মানচিত্রে থাকা সমস্ত ব্যবসায়িক POI লুকিয়ে রাখে:
[
{
"featureType": "poi.business",
"stylers": [
{ "visibility": "off" }
]
}
]
আরেকটি উদাহরণ হিসেবে, নিম্নলিখিত JSON-টি POI-এর সকল ক্যাটাগরির প্রদর্শনকে সহজ করে তোলে:
[
{
"featureType": "poi",
"stylers": [
{ "visibility": "simplified" }
]
}
]
জাভা কোড এবং অন্যান্য বিস্তারিত তথ্যের জন্য, স্টাইলিং ব্যবহার করে ম্যাপের বৈশিষ্ট্য লুকানোর নির্দেশিকাটি দেখুন।