解析,如何检索 ParseGeoPoint 类型的对象

Parse, how to retrieve an object of type ParseGeoPoint

我有一个包含 ParseGeoPointJSONObject,我正在尝试使用这行代码来检索 ParseGeoPoint 但没有成功

ParseGeoPoint storeAddress = (ParseGeoPoint) shopInfo.get("coordinates");

我通过检查其内容确保 shopInfo 确实具有 geoPoint

"coordinates":"ParseGeoPoint[30.132636,31.312510]"

我得到的错误是:

java.lang.String cannot be cast to com.parse.ParseGeoPoint

我试过getParseGeoPoint("String");但无法识别为关键字,我该怎么办?

问题很清楚了。当您执行行 shopInfo.get("coordinates") 时,它 returns 只是坐标的字符串表示。您尝试将 String 对象转换为无法工作的 ParseGeoPoint 对象。要使其工作,您需要将 ParseGeoPoint[30.132636,31.312510] 表示划分为纬度和经度键和值 json 对。按照下面的代码行将起作用。

    JSONObject coordinates = shopInfo.getJSONObject("coordinates");
    double latitude= coordinates.getDouble("latitude");
    double longitude= coordinates.getDouble("longitude");   
    storeAddress =new ParseGeoPoint(latitude, longitude) 

希望这对您有所帮助。问候。