Android的 - 谷歌地图扩展 - 抛出:IllegalArgumentException [英] Android - Google Maps Extensions - IllegalArgumentException

查看:221
本文介绍了Android的 - 谷歌地图扩展 - 抛出:IllegalArgumentException的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我得到一个IllegalArgumentException,当我把这个createMarker()方法:

 私人无效createMarker(GoogleMap的地图,选择的MarkerOptions,OnMarkerCreateListener听众){
    Log.e(LazyMarker,选项VAR VAL:+期权);
    Log.i(LazyMarker,使用GoogleMap值:+地图);
    Log.i(LazyMarker,OnMarkerCreateListener值:+监听);
    标记= map.addMarker(选件);
    //Log.i(\"LazyMarker,标记的值是:+ map.addMarker(选项));
    如果(听众!= NULL){
        listener.onMarkerCreate(本);
    }
}

下面是logcat的输出:

 一十一月6日至14日:40:38.627:I / OGT.RideTracking(25590):地图值为:com.google.android.gms.maps.GoogleMap@4249bd30
11月6日至14日:40:38.627:E / LazyMarker(25590):选项VAR VAL:com.google.android.gms.maps.model.MarkerOptions@4318baf8
11月6日至14日:40:38.627:I / LazyMarker(25590):GoogleMap的价值:com.google.android.gms.maps.GoogleMap@4249bd30
11月6日至14日:40:38.627:I / LazyMarker(25590):OnMarkerCreateListener值:空
11月6日至14日:40:38.637:D / AndroidRuntime(25590):关闭VM
11月6日至14日:40:38.637:W / dalvikvm(25590):主题ID = 1:螺纹未捕获的异常退出(组= 0x415d7438)
11月6日至14日:40:38.637:E / AndroidRuntime(25590):致命异常:主要
11月6日至14日:40:38.637:E / AndroidRuntime(25590):了java.lang.RuntimeException:无法启动活动ComponentInfo {com.android.gpstracker / com.polaris.epicriders.Rides.RideTracking}:java.lang.IllegalArgumentException异常:在标记选项没有位置
11月6日至14日:40:38.637:E / AndroidRuntime(25590):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2088)
11月6日至14日:40:38.637:E / AndroidRuntime(25590):在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2113)
11月6日至14日:40:38.637:E / AndroidRuntime(25590):在android.app.ActivityThread.access $ 700(ActivityThread.java:139)
11月6日至14日:40:38.637:E / AndroidRuntime(25590):在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1224)
11月6日至14日:40:38.637:E / AndroidRuntime(25590):在android.os.Handler.dispatchMessage(Handler.java:99)
11月6日至14日:40:38.637:E / AndroidRuntime(25590):在android.os.Looper.loop(Looper.java:137)
11月6日至14日:40:38.637:E / AndroidRuntime(25590):在android.app.ActivityThread.main(ActivityThread.java:4918)
11月6日至14日:40:38.637:E / AndroidRuntime(25590):在java.lang.reflect.Method.invokeNative(本机方法)
11月6日至14日:40:38.637:E / AndroidRuntime(25590):在java.lang.reflect.Method.invoke(Method.java:511)
11月6日至14日:40:38.637:E / AndroidRuntime(25590):在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:1004)
11月6日至14日:40:38.637:E / AndroidRuntime(25590):在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:771)
11月6日至14日:40:38.637:E / AndroidRuntime(25590):在dalvik.system.NativeStart.main(本机方法)
11月6日至14日:40:38.637:E / AndroidRuntime(25590):java.lang.IllegalArgumentException异常:产生的原因在标记选项没有位置

我的MarkerOptions和GoogleMap的值不为空?问题是这一行:

 标记= map.addMarker(选件);

在我评论的线路输出应用上面继续到下一个活动就好了。什么是我的问题吗?任何帮助将是AP preciated。


解决方案

 产生的原因:java.lang.IllegalArgumentException:如果标记选项没有位置

显然,你的的MarkerOptions 没有一个位置。请拨打位置()提供在其中放置标记。位置

I'm getting an IllegalArgumentException when I call this createMarker() method:

private void createMarker(GoogleMap map, MarkerOptions options, OnMarkerCreateListener listener) {
    Log.e("LazyMarker", "Options var val: "+options);
    Log.i("LazyMarker", "GoogleMap Value:"+map);
    Log.i("LazyMarker", "OnMarkerCreateListener Value:"+listener);
    marker = map.addMarker(options);
    //Log.i("LazyMarker", "The value of Marker is:"+map.addMarker(options));
    if (listener != null) {
        listener.onMarkerCreate(this);
    }
}

Here is the logcat output:

06-14 11:40:38.627: I/OGT.RideTracking(25590): Map value is: com.google.android.gms.maps.GoogleMap@4249bd30
06-14 11:40:38.627: E/LazyMarker(25590): Options var val: com.google.android.gms.maps.model.MarkerOptions@4318baf8
06-14 11:40:38.627: I/LazyMarker(25590): GoogleMap Value:com.google.android.gms.maps.GoogleMap@4249bd30
06-14 11:40:38.627: I/LazyMarker(25590): OnMarkerCreateListener Value:null
06-14 11:40:38.637: D/AndroidRuntime(25590): Shutting down VM
06-14 11:40:38.637: W/dalvikvm(25590): threadid=1: thread exiting with uncaught exception (group=0x415d7438)
06-14 11:40:38.637: E/AndroidRuntime(25590): FATAL EXCEPTION: main
06-14 11:40:38.637: E/AndroidRuntime(25590): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.android.gpstracker/com.polaris.epicriders.Rides.RideTracking}: java.lang.IllegalArgumentException: no position in marker options
06-14 11:40:38.637: E/AndroidRuntime(25590):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2088)
06-14 11:40:38.637: E/AndroidRuntime(25590):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2113)
06-14 11:40:38.637: E/AndroidRuntime(25590):    at android.app.ActivityThread.access$700(ActivityThread.java:139)
06-14 11:40:38.637: E/AndroidRuntime(25590):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1224)
06-14 11:40:38.637: E/AndroidRuntime(25590):    at android.os.Handler.dispatchMessage(Handler.java:99)
06-14 11:40:38.637: E/AndroidRuntime(25590):    at android.os.Looper.loop(Looper.java:137)
06-14 11:40:38.637: E/AndroidRuntime(25590):    at android.app.ActivityThread.main(ActivityThread.java:4918)
06-14 11:40:38.637: E/AndroidRuntime(25590):    at java.lang.reflect.Method.invokeNative(Native Method)
06-14 11:40:38.637: E/AndroidRuntime(25590):    at java.lang.reflect.Method.invoke(Method.java:511)
06-14 11:40:38.637: E/AndroidRuntime(25590):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1004)
06-14 11:40:38.637: E/AndroidRuntime(25590):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:771)
06-14 11:40:38.637: E/AndroidRuntime(25590):    at dalvik.system.NativeStart.main(Native Method)
06-14 11:40:38.637: E/AndroidRuntime(25590): Caused by: java.lang.IllegalArgumentException: no position in marker options

My MarkerOptions and GoogleMap values aren't null? The issue is with this line:

marker = map.addMarker(options);

When I comment the line out above the app continues to the next activity just fine. What is my issue here? Any help would be appreciated.

解决方案

Caused by: java.lang.IllegalArgumentException: no position in marker options

Apparently, your MarkerOptions does not have a position. Please call position() to supply the position in which to place the marker.

这篇关于Android的 - 谷歌地图扩展 - 抛出:IllegalArgumentException的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆