我是一名机器人初学者,无法在任何地方找到答案。
我想在地图上显示距离地图中心25公里的标记。 我无法找到找到地图中心位置的方法,然后显示距离它25公里的标记。
地理位置在Cars.class的Parse.com上,位于"位置"。 到目前为止,事件代码显示标记不起作用,它得到结果:
{"objectId": "[...]","location": {"__type":"GeoPoint","latitude": [...],"longitude": [...] },"createdAt":"[...]","updatedAt": "[...]"}
它崩溃并给我错误:
com.parse.ParseObject无法强制转换为com.company.test.Cars。
感谢您的帮助!
ParseQuery<Cars> query = ParseQuery.getQuery("Cars");
query.selectKeys(Collections.singletonList("location"));
query.findInBackground(new FindCallback<Cars>(){
@Override
public void done(List<Cars> list, ParseException e) {
if (e != null) {
return;
}
ParseGeoPoint geoPoint;
for(int i =0;i<list.size();i++){
geoPoint = list.get(i).getParseGeoPoint("location");
mMap.addMarker(new MarkerOptions().position(new LatLng(geoPoint.getLatitude(), geoPoint.getLongitude())));
答案 0 :(得分:0)
好的,有两个选项可以实现您的目标。
一个有点复杂但非常强大:everything is described here
应用此选项后,它将是:
ParseQuery<Cars> query = ParseQuery.getQuery(Cars.class);
另一个对我来说听起来不那么复杂:
Parse.Query<Parse.Object>
以获取Parse.Object而不是Cars
。done
方法中,遍历所有结果第二种选择可能有点复杂,但更灵活。