首页 > 解决方案 > java.lang.IllegalArgumentException: 南纬超过北纬 (23.029011581089936 > 23.0060917)

问题描述

我正在使用谷歌地图,我发现了一个以前从未遇到过的奇怪错误:这是详细信息。

我正在尝试使用在边界上放置两个标记,

latLngBounds = new LatLngBounds(mDestination, mOrigin); LatLngBounds.Builder builder = new LatLngBounds.Builder(); builder.include(mDestination).include(mOrigin);

我收到以下错误。

java.lang.IllegalArgumentException: southern latitude exceeds northern latitude (23.029011581089936 > 23.0060917)
    at com.google.android.gms.common.internal.Preconditions.checkArgument(Unknown Source:38)
    at com.google.android.gms.maps.model.LatLngBounds.<init>(Unknown Source:7)
    at com.cmrlabs.tracker.MainActivity.drawRoute(MainActivity.java:324)
    at com.cmrlabs.tracker.MainActivity.access$500(MainActivity.java:73)
    at com.cmrlabs.tracker.MainActivity$2.onMapClick(MainActivity.java:410)
    at com.google.android.gms.maps.zzy.onMapClick(Unknown Source:2)
    at com.google.android.gms.maps.internal.zzak.dispatchTransaction(Unknown Source:5)
    at com.google.android.gms.internal.maps.zzb.onTransact(Unknown Source:12)
    at android.os.Binder.transact(Binder.java:667)
    at cj.b(:com.google.android.gms.dynamite_mapsdynamite@19831068@19.8.31 (100700-0):14)

我不知道如何解决这个问题,有什么建议吗?

先感谢您..!

标签: androidgoogle-mapsgoogle-maps-markersandroid-maps-v2android-maps

解决方案


LatLngBounds构造函数有两个参数:西南角和东北角。那不是你所拥有的——你有两点,所以你不应该使用那个构造函数。相反,最后使用Builderand 调用build()它来构造LatLngBounds对象:

LatLngBounds.Builder builder = new LatLngBounds.Builder();
builder.include(mDestination).include(mOrigin);
latLngBounds = builder.build();

推荐阅读