gpt4 book ai didi

android - 将 String 转换为 Double 以便在 LatLng/Google map 中使用

转载 作者:行者123 更新时间:2023-11-29 14:39:27 25 4
gpt4 key购买 nike

我需要将字符串值转换为 LatLng 值,以便在 Android 应用的 GoogleMaps fragment 中使用。字符串值可能会以“-45.654765, 65.432892”的形式出现。

我已经尝试了两种不同的方法来执行此操作,但都导致了错误。首先,我尝试使用 split() 并将结果放入 String[],然后使用 parseDouble() 访问每个结果,如下所示:

String[] geo = GEO.split(",");
double lati = Double.parseDouble(geo[0]);
double lngi = Double.parseDouble(geo[1]);
LOCATION = new LatLng(lati, lngi);

这会产生 ArrayIndexOutOfBoundsException,由 double lati = Double.parseDouble(geo[0]); 引起。我不太确定为什么。

我也尝试过使用 StringTokenizer,如下所示:

StringTokenizer tokens = new StringTokenizer(GEO, ",");
String lat = tokens.nextToken();
String lng = tokens.nextToken();
double lati = Double.parseDouble(lat);
double lngi = Double.parseDouble(lng);
LOCATION = new LatLng(lati, lngi);

这会产生一个指向 String lng = tokens.nextToken();NoSuchElementException

在这两种情况下,我正在处理的字符串 GEO 都是 public static final 并通过 intent 从另一个 Activity 传递过来,目前只是硬编码为 "43.75,-70.15".

LOCATIONpublic static 并且是一个初始化为 null 的 LatLng 变量。

谁能指出我正确的方向?这看起来真的很简单,所以我比平时更困惑......

编辑:

数据源自不同的 Activity ,并通过 Intent 传递。接收 Intent 的 Activity 具有如下定义的 GEO:

public static final String GEO = "geo";

之前 Activity 的 Intent 将 geo 放在这样的地方:

          bundle.putString(PlaceActivity.GEO, geo);

最佳答案

你应该有

String loc = getIntent().getExtras().getString(PlaceActivity.GEO);
String[] geo = loc.split(",");

关于android - 将 String 转换为 Double 以便在 LatLng/Google map 中使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16205675/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com