मैं नए Android Google Maps API का उपयोग कर रहा हूं ।
मैं एक गतिविधि बनाता हूं जिसमें एक MapFragment शामिल है। गतिविधि में onResume
मैंने मार्करों को GoogleMap ऑब्जेक्ट में सेट किया और फिर मैप के लिए एक बाउंडिंग बॉक्स परिभाषित किया जिसमें सभी मार्कर शामिल हैं।
यह निम्नलिखित छद्म कोड का उपयोग कर रहा है:
LatLngBounds.Builder builder = new LatLngBounds.Builder();
while(data) {
LatLng latlng = getPosition();
builder.include(latlng);
}
CameraUpdate cameraUpdate = CameraUpdateFactory
.newLatLngBounds(builder.build(), 10);
map.moveCamera(cameraUpdate);
map.moveCamera()
निम्नलिखित स्टैक के साथ मेरे एप्लिकेशन को क्रैश करने का कारण बनता है:
Caused by: java.lang.IllegalStateException:
Map size should not be 0. Most likely, layout has not yet
at maps.am.r.b(Unknown Source)
at maps.y.q.a(Unknown Source)
at maps.y.au.a(Unknown Source)
at maps.y.ae.moveCamera(Unknown Source)
at com.google.android.gms.maps.internal.IGoogleMapDelegate$Stub
.onTransact(IGoogleMapDelegate.java:83)
at android.os.Binder.transact(Binder.java:310)
at com.google.android.gms.maps.internal.IGoogleMapDelegate$a$a
.moveCamera(Unknown Source)
at com.google.android.gms.maps.GoogleMap.moveCamera(Unknown Source)
at ShowMapActivity.drawMapMarkers(ShowMapActivity.java:91)
at ShowMapActivity.onResume(ShowMapActivity.java:58)
at android.app.Instrumentation
.callActivityOnResume(Instrumentation.java:1185)
at android.app.Activity.performResume(Activity.java:5182)
at android.app.ActivityThread
.performResumeActivity(ActivityThread.java:2732)
यदि - newLatLngBounds()
कारखाने की विधि के बजाय मैं newLatLngZoom()
विधि का उपयोग करता हूं तो एक ही जाल उत्पन्न नहीं होता है।
है onResume
सबसे अच्छी जगह GoogleMap ऑबजेक्ट पर मार्कर आकर्षित करने के लिए या मैं मार्करों ड्राइंग किया जाना चाहिए और कहीं और कैमरे की स्थिति की स्थापना?