- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我目前正在研究新的 Google Maps Android API v2。
我的 MapActivity 类使用下面的代码与我的三星 galaxy s3 ans s2 一起工作:
但是,有一些特定的设备不工作,例如:GT-S5830i
class MapActivity extends FragmentActivity implements OnMapClickListener, OnMapLongClickListener, OnMarkerClickListener
{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_map);
tvLocInfo = (TextView)findViewById(R.id.locinfo);
android.support.v4.app.FragmentManager myFragmentManager = getSupportFragmentManager();
SupportMapFragment myMapFragment = (SupportMapFragment)myFragmentManager.findFragmentById(R.id.map);
myMap = myMapFragment.getMap();
myMap.setMapType(GoogleMap.MAP_TYPE_HYBRID);
ArrayList<Cooridnates> cooridnatesList = MainActivity.getList();
for(int i=0;i<cooridnatesList.size();i++)
{
//Toast.makeText(MapActivity.this, "SIZE : " + " " + cooridnatesList.size(), Toast.LENGTH_LONG).show();
LatLng point = new LatLng(cooridnatesList.get(i).getLat(),cooridnatesList.get(i).getLon());
tvLocInfo.setText("markers added");
myMap.addMarker(new MarkerOptions().position(point).title(point.toString()));
center=CameraUpdateFactory.newLatLng(point);
}
CameraUpdate zoom=CameraUpdateFactory.zoomTo(16);
myMap.moveCamera(center);
myMap.animateCamera(zoom);
myMap.setOnMapClickListener(this);
myMap.setOnMarkerClickListener(this);
markerClicked = false;
}
出于某种原因,我收到此错误:
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.coldice.plotfinder/com.coldice.plotfinder.MapActivity}: java.lang.NullPointerException
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1651)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1667)
at android.app.ActivityThread.access$1500(ActivityThread.java:117)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:935)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:130)
at android.app.ActivityThread.main(ActivityThread.java:3687)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:625)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NullPointerException
at com.google.android.gms.maps.GoogleMap.moveCamera(Unknown Source)
at com.coldice.plotfinder.MapActivity.onCreate(MapActivity.java:70)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1615)
... 11 more
最佳答案
您的函数 MainActivity.getList()
可能返回了一个空列表,因此 for 循环不会执行 center=CameraUpdateFactory.newLatLng(point);
。
关于java.lang.NullPointerException :com. 谷歌.android.gms.maps.GoogleMap.moveCamera,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14551478/
我想在 moveCamera 完成后拍摄快照。 我对 Googlemap 对象同时使用了 onCamerachange() 和 onMapLoaded() 函数, 但是这个回调处理程序的时间不符合我的
我正在实现一个 map ,需要在运行时显示您当前的位置。到目前为止,我没有遇到任何问题,但今天在学习如何设置纬度和经度的教程时,我在为我的项目初始化 map 标记时遇到了麻烦。 addMarker
希望你能帮助我。我当前的应用程序能够获取我当前的位置(通过 GPS)。现在,我将一个标记添加到当前位置,效果非常好,但如果我想将相机移动到该标记,它就不起作用。 moveCamera(position
我遇到了这样的问题:我在我的应用程序中的 Fragment 中使用 GoogleMaps map ,并且在调用 onLocationChanged 方法时它会中断。问题是这一行 mMap.moveCa
我正在尝试像这样控制 Google map 相机 private void setUpMap() { Log.e(LOG_TAG, "in setup method");
我有以下更新 map 的方法: private void setCamera() { if (currentLocation != null) { String
我有一个小问题,当我在手机上运行该应用程序时,我的 moveCamera 设置在我以前的位置(而不是我正在测试它的当前位置),我的 addCircle (设置在我以前的位置周围,而不是我现在的位置)。
我正在使用新的 Android Google Maps API . 我创建了一个包含 MapFragment 的 Activity 。在 Activity onResume 中,我将标记设置到 Goo
我正在使用 Android 版 Google map 。我需要将相机移动到某个位置并同时放大。 我像这样构建我的CameraUpdate: CameraPosition cameraPosit
我在 SupportMapFragment 中有一个 GoogleMap。它在初始显示中工作正常。移动相机,并添加一个圆圈。但是 moveCamera 和 addCircle 在从其子 Activit
我需要移动相机以覆盖其上的所有标记。因此,我构建了 LatLngBounds,然后尝试调用 mMap.moveCamera(CameraUpdateFactory.newLatLngBounds(la
当前的 Android Google Maps API 要求您在访问 GoogleMap 之前使用 OnMapReadyCallback 调用 mapFragment.getMapAsync。我假设一
我正在使用适用于 Android 的 google maps api V2。当我加载 map 时它加载完美但是,当我尝试使用来自 https://developers.google.com/maps/
我对使用 CameraUpdateFactory.newLatLngBounds() 的 moveCamera 和 animateCamera 的准确性有一些疑问。我比较了一个 LatLngBound
我目前正在研究新的 Google Maps Android API v2。 我的 MapActivity 类使用下面的代码与我的三星 galaxy s3 ans s2 一起工作: 但是,有一些特定的设
这些方法有什么区别 public final void moveCamera(CameraUpdate更新)和public final void animateCamera (CameraUpdate
我是一名优秀的程序员,十分优秀!