डिफ़ॉल्ट रूप से, दिलचस्पी वाली जगहें (पीओआई) बुनियादी मैप पर दिखती हैं. साथ ही, उनके आइकॉन भी दिखते हैं. पीओआई में पार्क, स्कूल, सरकारी इमारतें वगैरह शामिल होती हैं.
इसके अलावा, मैप का टाइप normal होने पर, कारोबार से जुड़ी पीओआई डिफ़ॉल्ट रूप से मैप पर दिखती हैं. कारोबार से जुड़ी पीओआई, दुकानों, रेस्टोरेंट, होटल वगैरह जैसे कारोबारों को दिखाती हैं. इनडोर मैप (फ़्लोर प्लान) पर, कारोबार से जुड़ी पीओआई सिर्फ़
लाइट मोड वाले मैप पर दिखती हैं.
पीओआई, Places SDK for Android में तय की गई जगह की आईडी से जुड़ी होती है. उदाहरण के लिए, मनोरंजन के लिए बने पार्क पीओआई होते हैं. हालांकि, आम तौर पर फ़ाउंटेन पीओआई नहीं होते. ऐसा तब तक होता है, जब तक कि वे राष्ट्रीय या ऐतिहासिक महत्व के न हों.
पीओआई पर क्लिक करने से जुड़े इवेंट की जानकारी पाना
अगर आपको किसी लोकप्रिय जगह पर टैप करने वाले उपयोगकर्ता को जवाब देना है, तो यहां दिए गए कोड सैंपल में दिखाए गए तरीके से
OnPoiClickListenerका इस्तेमाल किया जा सकता है:
Kotlin
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() } }
Java
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(); } }
पीओआई, डिफ़ॉल्ट रूप से मैप पर दिखती हैं. हालांकि, क्लिक करने पर दिखने वाला यूज़र इंटरफ़ेस (यूआई) डिफ़ॉल्ट रूप से नहीं दिखता. इसका मतलब है कि जब उपयोगकर्ता किसी पीओआई पर टैप करता है, तो एपीआई अपने-आप जानकारी वाली विंडो या कोई दूसरा यूज़र इंटरफ़ेस (यूआई) नहीं दिखाता.
ऊपर दिए गए नमूने में दिखाए गए तरीके से,
OnPoiClickListener को कॉल करके, मैप पर
calling
GoogleMap.setOnPoiClickListener(OnPoiClickListener) सेट किया जाता है.
जब कोई उपयोगकर्ता किसी लोकप्रिय जगह पर क्लिक (टैप) करता है, तो आपके ऐप्लिकेशन को
OnPoiClick(PointOfInterest) इवेंट
मिलता है. इससे पता चलता है कि उपयोगकर्ता ने किस लोकप्रिय जगह पर क्लिक किया है. The
PointOfInterest में, दिलचस्पी वाली जगह के अक्षांश/देशांतर के कोऑर्डिनेट,
जगह की आईडी, और नाम शामिल होते हैं.
मैप पर पीओआई दिखने से रोकना
सभी पीओआई या पीओआई की खास कैटगरी पर, कस्टम स्टाइल लागू करके, दिलचस्पी वाली जगहों (पीओआई) को छिपाया जा सकता है.
JSON में स्टाइल की इस जानकारी से, मैप पर कारोबार से जुड़ी सभी पीओआई छिप जाती हैं:
[
{
"featureType": "poi.business",
"stylers": [
{ "visibility": "off" }
]
}
]
एक और उदाहरण के तौर पर, JSON में दी गई इस जानकारी से, पीओआई की सभी कैटगरी को आसानी से दिखाया जा सकता है:
[
{
"featureType": "poi",
"stylers": [
{ "visibility": "simplified" }
]
}
]
Java कोड और अन्य जानकारी के लिए, स्टाइलिंग की मदद से मैप की सुविधाओं को छिपाने से जुड़ी गाइड देखें .