Java 在谷歌地图上使用JSON表示Lat Long
我试图从API中获取一个JSON对象,以便对google地图上的每个标记使用Lat Long 我可以在中读取JSON,因为我可以将它作为字符串放在listview中,但cants似乎将其解析为双精度,每次都会崩溃 爪哇: 我想我已经明白了Java 在谷歌地图上使用JSON表示Lat Long,java,android,json,google-maps,google-maps-markers,Java,Android,Json,Google Maps,Google Maps Markers,我试图从API中获取一个JSON对象,以便对google地图上的每个标记使用Lat Long 我可以在中读取JSON,因为我可以将它作为字符串放在listview中,但cants似乎将其解析为双精度,每次都会崩溃 爪哇: 我想我已经明白了 double latitude = Double.parseDouble(dlat); double longitude = Double.parseDouble(dlon); 似乎是问题的原因,好像我将它们更
double latitude = Double.parseDouble(dlat);
double longitude = Double.parseDouble(dlon);
似乎是问题的原因,好像我将它们更改为一个设定值一样,它工作正常
任何帮助都将不胜感激,我花了几天时间在这上面,不知道为什么它不起作用
为菲尔干杯。在doInBackground方法中,您可以重新创建
dlat
和dlong
字符串。它们与您在代码顶部创建的全局dlat
和dlong
变量无关
String dlat = dep.getString(TAG_DEP_LAT);
String dlon = dep.getString(TAG_DEP_LON);
但是在onPostExecute
中,您试图访问一开始创建的全局变量,但看起来您从未初始化它们
double latitude = Double.parseDouble(dlat);
double longitude = Double.parseDouble(dlon);
这就是为什么你会得到一个空指针
编辑:快速修复-尝试替换(在doInBackground
方法中)
借
非常感谢!我的问题往往是我忽略了的,总是在寻找一个真正复杂的解决方案!真的需要学会更好的调试!
String dlat = dep.getString(TAG_DEP_LAT);
String dlon = dep.getString(TAG_DEP_LON);
double latitude = Double.parseDouble(dlat);
double longitude = Double.parseDouble(dlon);
String dlat = dep.getString(TAG_DEP_LAT);
String dlon = dep.getString(TAG_DEP_LON);
dlat = dep.getString(TAG_DEP_LAT);
dlon = dep.getString(TAG_DEP_LON);