Maps API会在animateTo()方法上抛出NullPointerException

时间:2013-01-17 08:32:41

标签: android android-maps android-maps-v2 android-debug

在尝试将地图设置为某个GeoPoint动画时,我遇到致命异常 - 这是例外:

12-20 17:53:20.400: E/Crittercism(3523): java.lang.NullPointerException
12-20 17:53:20.400: E/Crittercism(3523): at com.amazon.geo.maps.MercatorProjection.latLongToWorldPixels(MercatorProjection.java:397)
12-20 17:53:20.400: E/Crittercism(3523): at com.amazon.geo.maps.MercatorProjection.toPixels(MercatorProjection.java:69)
12-20 17:53:20.400: E/Crittercism(3523): at com.amazon.geo.maps.MapView.animateTo_AmazonInternal(MapView.java:1801)
12-20 17:53:20.400: E/Crittercism(3523): at com.amazon.geo.maps.MapController.animateTo(MapController.java:46)
12-20 17:53:20.400: E/Crittercism(3523): at com.fatattitude.myapplication.MyMapActivity.moveMapToPoint(BusMapActivity.java:1564)

这是我的代码。我的日志输出还显示GeoPoint的值为 LatitudeE6 = 51537141 LongitudeE6 = -246271

private void moveMapToPoint(GeoPoint gp, int zoomLevel) {
MapController mc = mapView.getController();

if (zoomLevel < 0)
zoomLevel = mapView.getZoomLevel();

mc.stopAnimation(true);
mc.setZoom(zoomLevel);

String strGeoPointInfo = String.format("Lat:%d, Lng:%d", gp.getLatitudeE6(), gp.getLongitudeE6() );
Log.i("GeoPoint-Info", "**moveMapToPoint: " + strTestOutput);

mc.animateTo(gp);
}

如果我评论该行

//mc.stopAnimation(true);

我不再得到例外。

任何人都可以帮助我理解为什么会发生这种异常吗?

请帮我解决这个问题。

1 个答案:

答案 0 :(得分:4)

该应用可能会在GPS传感器寻找位置之前等待。

mMyLocationOverlay.runOnFirstFix(new Runnable() { 
    public void run() {
                    mapView.getController().animateTo(myLocation);
        }});