Android谷歌地图,谷歌地点,北纬超过南纬

标签 android google-maps google-places-api

我正在使用谷歌地图并使用 JSON 从谷歌地点解析我所在位置周围的咖啡馆。当我从当前位置 95% cafe 开始导航到所选咖啡馆时,我得到一条折线,但在某些地方我收到错误,例如北纬超过南纬和应用程序崩溃。

这是我的日志:

07-07 18:11:46.037: E/AndroidRuntime(25854): FATAL EXCEPTION: main
07-07 18:11:46.037: E/AndroidRuntime(25854): java.lang.IllegalArgumentException: southern latitude exceeds northern latitude (30.7223365 > 30.722303)
07-07 18:11:46.037: E/AndroidRuntime(25854):    at com.google.android.gms.internal.fq.a(Unknown Source)
07-07 18:11:46.037: E/AndroidRuntime(25854):    at com.google.android.gms.maps.model.LatLngBounds.<init>(Unknown Source)
07-07 18:11:46.037: E/AndroidRuntime(25854):    at com.google.android.gms.maps.model.LatLngBounds.<init>(Unknown Source)
07-07 18:11:46.037: E/AndroidRuntime(25854):    at com.example.google_map_ex.MainActivity.findDirections(MainActivity.java:285)
07-07 18:11:46.037: E/AndroidRuntime(25854):    at com.example.google_map_ex.MainActivity$JSONParse$1.onItemClick(MainActivity.java:366)
07-07 18:11:46.037: E/AndroidRuntime(25854):    at android.widget.AdapterView.performItemClick(AdapterView.java:301)
07-07 18:11:46.037: E/AndroidRuntime(25854):    at android.widget.AbsListView.performItemClick(AbsListView.java:1490)
07-07 18:11:46.037: E/AndroidRuntime(25854):    at android.widget.AbsListView$PerformClick.run(AbsListView.java:3275)
07-07 18:11:46.037: E/AndroidRuntime(25854):    at android.widget.AbsListView$1.run(AbsListView.java:4518)
07-07 18:11:46.037: E/AndroidRuntime(25854):    at android.os.Handler.handleCallback(Handler.java:725)
07-07 18:11:46.037: E/AndroidRuntime(25854):    at android.os.Handler.dispatchMessage(Handler.java:92)
07-07 18:11:46.037: E/AndroidRuntime(25854):    at android.os.Looper.loop(Looper.java:137)
07-07 18:11:46.037: E/AndroidRuntime(25854):    at android.app.ActivityThread.main(ActivityThread.java:5283)
07-07 18:11:46.037: E/AndroidRuntime(25854):    at java.lang.reflect.Method.invokeNative(Native Method)
07-07 18:11:46.037: E/AndroidRuntime(25854):    at java.lang.reflect.Method.invoke(Method.java:511)
07-07 18:11:46.037: E/AndroidRuntime(25854):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1102)
07-07 18:11:46.037: E/AndroidRuntime(25854):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:869)
07-07 18:11:46.037: E/AndroidRuntime(25854):    at dalvik.system.NativeStart.main(Native Method)

最佳答案

利用 LatLngBounds.Builder 类使用 .include() 包含您的 LatLng。它将防止此错误。

LatLngBounds.Builder builder = new LatLngBounds.Builder();
builder.include(currentLocation).include(streetLocation);

//Animate to the bounds
CameraUpdate cameraUpdate = CameraUpdateFactory.newLatLngBounds(builder.build(), 100);
mMap.moveCamera(cameraUpdate);

关于Android谷歌地图,谷歌地点,北纬超过南纬,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24610957/

相关文章:

java - JSON 解析为 ArrayList。如何让它在 onPostExecute 中重复多个 map 标记的数据?

javascript - 从 Google Places 搜索框获取纬度和经度

java - Google Places API - 在 Android 端解码 Json

android - Webview 在浏览器窗口中加载 url 而不是 Webview

android - Android 应用程序关闭时如何保持 Web 套接字连接处于 Activity 状态

java - 安卓多线程

android - 在 ScrollView 上应用背景

android - 单击 map 标记添加 fragment 列表

android - 即使在 Flutter 中使用正确的 SHA1 key ,谷歌地图也无法在发布版本中工作

ios - 从 google api 获取 EN、IT、FR、DE、ES 本地化城市名称