আমি নতুন অ্যান্ড্রয়েড গুগল ম্যাপস এপিআই ব্যবহার করছি ।
আমি একটি ক্রিয়াকলাপ তৈরি করি যা মানচিত্রের অন্তর্ভুক্ত। ক্রিয়াকলাপে onResume
আমি চিহ্নিতকারীগুলিকে গুগলম্যাপ অবজেক্টে সেট করি এবং তারপরে মানচিত্রের জন্য একটি বাউন্ডিং বাক্স সংজ্ঞায়িত করে যার মধ্যে সমস্ত মার্কার থাকে।
এটি নিম্নলিখিত সিউডো কোডটি ব্যবহার করছে:
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 বস্তুর সম্মুখের চিহ্নিতকারী আঁকা অথবা আমি চিহ্নিতকারী অঙ্কন করা উচিত এবং অন্য কোথাও ক্যামেরা অবস্থান সেটিং?