- शुरुआती जानकारी
- एक से ज़्यादा क्लस्टर, KML, और GeoJSON लेयर जोड़ना
- अपनी सुविधाएं जोड़ना
- क्लिक इवेंट मैनेज करना
- डेमो ऐप्लिकेशन देखें
परिचय
पिछले ट्यूटोरियल में, आपने सीखें कि किसी KML और आपके मैप पर GeoJSON और साथ ही मार्कर के क्लस्टर. लेकिन, अगर आपको इनमें से कई लेयर को एक ही मैप पर जोड़ना हो और इंडिपेंडेंट क्लिक चाहिए, तो में से हर एक के लिए इवेंट?
एक से ज़्यादा क्लस्टर, KML, और GeoJSON लेयर जोड़ना
लाइब्रेरी में कई तरह के क्लिक इवेंट को मैनेज करने के लिए, Manager
ऑब्जेक्ट होते हैं
टैप करें. इसलिए, अपनी लेयर सेट अप करने से पहले, आपको उन्हें इंस्टैंशिएट करके पास करना होगा
आपका GoogleMap
:
Kotlin
val markerManager = MarkerManager(map) val groundOverlayManager = GroundOverlayManager(map!!) val polygonManager = PolygonManager(map) val polylineManager = PolylineManager(map)
Java
MarkerManager markerManager = new MarkerManager(map); GroundOverlayManager groundOverlayManager = new GroundOverlayManager(map); PolygonManager polygonManager = new PolygonManager(map); PolylineManager polylineManager = new PolylineManager(map);
इसके बाद, इन मैनेजर क्लास को अन्य लेयर के कंस्ट्रक्टर में पास किया जा सकता है. उन्हें सेट अप किया जा सकता है:
Kotlin
val clusterManager = ClusterManager<MyItem>(context, map, markerManager) val geoJsonLineLayer = GeoJsonLayer( map, R.raw.geojson_file, context, markerManager, polygonManager, polylineManager, groundOverlayManager ) val kmlPolylineLayer = KmlLayer( map, R.raw.kml_file, context, markerManager, polygonManager, polylineManager, groundOverlayManager, null )
Java
ClusterManager<MyItem> clusterManager = new ClusterManager<>(context, map, markerManager); GeoJsonLayer geoJsonLineLayer = new GeoJsonLayer(map, R.raw.geojson_file, context, markerManager, polygonManager, polylineManager, groundOverlayManager); KmlLayer kmlPolylineLayer = new KmlLayer(map, R.raw.kml_file, context, markerManager, polygonManager, polylineManager, groundOverlayManager, null);
अपनी सुविधाएं जोड़ना
अगर आपको अपने मार्कर, ग्राउंड ओवरले, पॉलीलाइन या पॉलीगॉन जोड़ने हैं, तो इनके साथ-साथ
परतें, अपना खुद का Collection
बनाएं और फिर Managers
का उपयोग करें
GoogleMap
ऑब्जेक्ट में सीधे जोड़ने के बजाय सुविधा जोड़ने के लिए.
उदाहरण के लिए, अगर आप कोई नया मार्कर जोड़ना चाहते हैं, तो:
Kotlin
val markerCollection = markerManager.newCollection() markerCollection.addMarker( MarkerOptions() .position(LatLng(51.150000, -0.150032)) .icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_AZURE)) .title("Unclustered marker") )
Java
MarkerManager.Collection markerCollection = markerManager.newCollection(); markerCollection.addMarker(new MarkerOptions() .position(new LatLng(51.150000, -0.150032)) .icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_AZURE)) .title("Unclustered marker"));
क्लिक इवेंट मैनेज करना
क्लस्टर, KML, और GeoJSON के लिए, क्लिक लिसनर सामान्य तरीके से काम करते हैं - जब तक आप
आप जिस लेयर को सेट कर रहे हैं उसके कंस्ट्रक्टर में Manager
क्लास.
उदाहरण के लिए, KML लेयर के लिए क्लिक लिसनर सेट अप करने का तरीका यहां बताया गया है:
Kotlin
kmlPolylineLayer.addLayerToMap() kmlPolylineLayer.setOnFeatureClickListener { feature: Feature -> Toast.makeText(context, "KML polyline clicked: ${feature.getProperty("name")}", Toast.LENGTH_SHORT ).show() }
Java
kmlPolylineLayer.addLayerToMap(); kmlPolylineLayer.setOnFeatureClickListener(feature -> Toast.makeText(context, "KML polyline clicked: " + feature.getProperty("name"), Toast.LENGTH_SHORT).show());
अपने मार्कर, ग्राउंड ओवरले, पॉलीलाइन या पॉलीगॉन जोड़ते समय, बस क्लिक जोड़ना न भूलें
उन Collection
ऑब्जेक्ट को सुन सकते हैं. उदाहरण के लिए, मार्कर सेट अप करने का तरीका यहां बताया गया है
markerCollection
पर लिसनर पर क्लिक करें:
Kotlin
markerCollection.setOnMarkerClickListener { marker: Marker -> Toast.makeText( context, "Marker clicked: ${marker.title}", Toast.LENGTH_SHORT ).show() false }
Java
markerCollection.setOnMarkerClickListener(marker -> { Toast.makeText(context, "Marker clicked: " + marker.getTitle(), Toast.LENGTH_SHORT).show(); return false; });
डेमो ऐप्लिकेशन देखें
एक से ज़्यादा परत जोड़ने के उदाहरण के लिए, MultiLayerDemoActivity
पर एक नज़र डालें
को डेमो ऐप्लिकेशन में जोड़ना होगा, जो यूटिलिटी लाइब्रेरी के साथ भेजे जाते हैं. सेटअप गाइड में बताया गया है कि
डेमो ऐप्लिकेशन.