Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/385.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android应用程序-如何让Google Maps API使用animateTo()?_Java_Android - Fatal编程技术网

Java Android应用程序-如何让Google Maps API使用animateTo()?

Java Android应用程序-如何让Google Maps API使用animateTo()?,java,android,Java,Android,我正在创建一个Android应用程序,我在屏幕上安装并运行谷歌地图。但是,我想在第一次加载地图时捕捉到一个点。即伦敦 我四处寻找,尝试了不同的方法,但我无法让它发挥作用 公共类MinuteMapActivity扩展了MapActivity{ MapView mapView; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) {

我正在创建一个Android应用程序,我在屏幕上安装并运行谷歌地图。但是,我想在第一次加载地图时捕捉到一个点。即伦敦

我四处寻找,尝试了不同的方法,但我无法让它发挥作用

公共类MinuteMapActivity扩展了MapActivity{

MapView mapView;

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    //the methods on the map are initialised here
    SnapToMap();
}

这就是我写的。我做错什么了吗?它不断出现运行时错误并关闭应用程序。我是否需要向XML布局中添加一些内容?有人能解释一下mapView.invalidate()的作用吗?我从mobiforge.com上获取了部分代码

LogCat结果:

12-05 01:15:07.245: D/AndroidRuntime(18945): Shutting down VM
12-05 01:15:07.245: W/dalvikvm(18945): threadid=1: thread exiting with uncaught exception (group=0x4001e578)
12-05 01:15:07.250: E/AndroidRuntime(18945): FATAL EXCEPTION: main
12-05 01:15:07.250: E/AndroidRuntime(18945): java.lang.RuntimeException: Unable to start activity ComponentInfo{application.project.minutemap/application.project.minutemap.MinuteMapActivity}: java.lang.NullPointerException
12-05 01:15:07.250: E/AndroidRuntime(18945):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1651)
12-05 01:15:07.250: E/AndroidRuntime(18945):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1667)
12-05 01:15:07.250: E/AndroidRuntime(18945):    at android.app.ActivityThread.access$1500(ActivityThread.java:117)
12-05 01:15:07.250: E/AndroidRuntime(18945):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:935)
12-05 01:15:07.250: E/AndroidRuntime(18945):    at android.os.Handler.dispatchMessage(Handler.java:99)
12-05 01:15:07.250: E/AndroidRuntime(18945):    at android.os.Looper.loop(Looper.java:130)
12-05 01:15:07.250: E/AndroidRuntime(18945):    at android.app.ActivityThread.main(ActivityThread.java:3691)
12-05 01:15:07.250: E/AndroidRuntime(18945):    at java.lang.reflect.Method.invokeNative(Native Method)
12-05 01:15:07.250: E/AndroidRuntime(18945):    at java.lang.reflect.Method.invoke(Method.java:507)
12-05 01:15:07.250: E/AndroidRuntime(18945):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:907)
12-05 01:15:07.250: E/AndroidRuntime(18945):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:665)
12-05 01:15:07.250: E/AndroidRuntime(18945):    at dalvik.system.NativeStart.main(Native Method)
12-05 01:15:07.250: E/AndroidRuntime(18945): Caused by: java.lang.NullPointerException
12-05 01:15:07.250: E/AndroidRuntime(18945):    at application.project.minutemap.MinuteMapActivity.SnapToMap(MinuteMapActivity.java:61)
12-05 01:15:07.250: E/AndroidRuntime(18945):    at application.project.minutemap.MinuteMapActivity.onCreate(MinuteMapActivity.java:24)
12-05 01:15:07.250: E/AndroidRuntime(18945):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
12-05 01:15:07.250: E/AndroidRuntime(18945):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1615)
12-05 01:15:07.250: E/AndroidRuntime(18945):    ... 11 more

第61行的NullPointerException:MapController snapToMap=mapView.getController()


如何消除此问题?

您没有初始化mapView。如果您在布局xml中有它,您需要使用类似这样的东西来查找它

mapView = (MapView) findViewById(R.id.map_view);
mapView = new MapView(this, "Your map API key here...n");
另外,你也可以用类似的东西在代码中创建它

mapView = (MapView) findViewById(R.id.map_view);
mapView = new MapView(this, "Your map API key here...n");

然后需要将其添加到视图中。

为什么要将其标记为“iPhone”?我删除了标签,因为它是不正确的;只标记与问题相关的主题。运行时错误将告诉您该怎么做。查看logcat以获取堆栈跟踪并将其发布到此处。是否将
SnapToMap
用作方法名和变量名??仅供参考,在Java中,约定使用小写字母作为变量和方法名称的第一个字符。另外,您的代码格式很混乱,您能确保它与您的代码格式相匹配吗?此外,异常指向第61行的空指针,因此请自行发布。抱歉,我编辑了文件,使变量和方法名称以小写开头(难怪在教程中它们一直是小写的)。我去掉了代码中不相关的部分,仅添加了所需且不工作的部分。第61行的NullPointerException:MapController snapToMap=mapView.getController();你太棒了!我初始化了它,它成功了!伙计,我爱你。你应该学会自己解决。stacktrace为您提供了确切的兴趣线。除非是和int或float之类的东西,否则你总是需要从某处设置对象。堆栈跟踪?那是LogCat吗?它只告诉我NullPointerException。我是一个新手,我阅读了有关NullPointerException的在线文档,但它并没有真正导致任何解决方案。Null pointer Meen表示您正在访问一些未被忽略的东西。有时您会通过调用将它们返回给您,在这种情况下,您可以在执行foo.bar()之前通过编程方式检查if(foo==null)。你会习惯的。。。