【发布时间】:2017-01-12 21:23:15
【问题描述】:
当我的 Android 应用程序代码从云消息传递平台接收数据并尝试将该数据放在地图上时,我收到上述错误 -
java.lang.IllegalStateException: Not on the main thread
at maps.w.c.a(Unknown Source)
at maps.y.F.a(Unknown Source)
at maps.ad.u.b(Unknown Source)
at vo.onTransact(:com.google.android.gms.DynamiteModulesB:92)
at android.os.Binder.transact(Binder.java:380)
at com.google.android.gms.maps.internal.IGoogleMapDelegate$zza$zza.animateCamera(Unknown Source)
at com.google.android.gms.maps.GoogleMap.animateCamera(Unknown Source)
at com.pabba.mtracker.tracking.view.TrackingActivity.onLocationReceived(TrackingActivity.java:54)
以下是我的演示者(我在我的 android 应用程序中使用 MVP 模式)在收到来自云消息传递服务的位置消息时调用的代码。
@Override
public void onLocationReceived(LatLng latLng) {
Log.i(TAG, latLng.toString());
mGoogleMap.addPolyline(new PolylineOptions().add(latLng));
mGoogleMap.animateCamera(CameraUpdateFactory.newCameraPosition(new CameraPosition.Builder().target(latLng)
.zoom(13).build()));
}
并且错误发生在 addPolyLine 函数调用中。 请告诉我可以做些什么来解决它。
【问题讨论】:
-
在 UI 线程上运行
标签: android google-maps