我想在服务器上调出纬度和经度,并在Google地图上用标记标记它。我该怎么办?
O(exp(n*log(2)))
错误:不兼容的类型:字符串无法转换为双精度(.position(new LatLng(stopListArray.get(i).get(“ x”),stopListArray.get(i).get(“ y”)))此行)serveridemethod中的代码太长,无法仅张贴所需的部分,而mapactivity是整个代码。
此代码将产生此错误 可以获得帮助吗?
答案 0 :(得分:0)
您的问题在for循环中,您试图在其中将字符串作为List的get()函数传递:
for (int i = 0; i < stop_list.size(); i++) {
MarkerOptions makerOptions = new MarkerOptions();
makerOptions
.position(new LatLng(stopListArray.get("x"), stopListArray.get("y")))
.title(stopListArray.get(i).get("stop_name"));
mGoogleMap.addMarker(makerOptions);
}
应该是:
for (int i = 0; i < stop_list.size(); i++) {
MarkerOptions makerOptions = new MarkerOptions();
makerOptions
.position(new LatLng(Double.parseDouble(stopListArray.get(i).get("x")), Double.parseDouble(stopListArray.get(i).get("y"))))
.title(stopListArray.get(i).get("stop_name"));
mGoogleMap.addMarker(makerOptions);
}