public static GetLatitudeAndLongitudeFromStatusValueDictionary ( Object>.Dictionary |
||
statusValueDictionary | Object>.Dictionary | |
latitude | String | |
longitude | String | |
return | void |
GetLatitudeAndLongitudeFromStatusValueDictionary
(
Dictionary<String, Object> statusValueDictionary,
out String latitude,
out String longitude
)
{
Debug.Assert(statusValueDictionary != null);
Object geoAsObject;
if (
statusValueDictionary.TryGetValue("geo", out geoAsObject)
&&
geoAsObject is Dictionary<String, Object>
)
{
Dictionary<String, Object> geoValueDictionary =
( Dictionary<String, Object> )geoAsObject;
Object coordinatesAsObject;
if (
geoValueDictionary.TryGetValue("coordinates",
out coordinatesAsObject)
&&
coordinatesAsObject is Object[]
)
{
Object [] coordinates = ( Object[] )coordinatesAsObject;
if (coordinates.Length == 2)
{
TwitterJsonUtil.TryConvertJsonValueToString(
coordinates[0], out latitude);
TwitterJsonUtil.TryConvertJsonValueToString(
coordinates[1], out longitude);
return;
}
}
}
latitude = longitude = null;
}
TryFromStatusValueDictionary ( Dictionary <String, Object> statusValueDictionary, Boolean expandStatusUrls, out TwitterStatus twitterStatus ) { Debug.Assert(statusValueDictionary != null); twitterStatus = null; // Get the status information. String statusID, statusText; if ( !TwitterJsonUtil.TryGetJsonValueFromDictionary( statusValueDictionary, "id_str", out statusID) || !TwitterJsonUtil.TryGetJsonValueFromDictionary( statusValueDictionary, "text", out statusText) ) { return(false); } String statusDateUtc; if (TwitterJsonUtil.TryGetJsonValueFromDictionary( statusValueDictionary, "created_at", out statusDateUtc)) { statusDateUtc = TwitterDateParser.ParseTwitterDate(statusDateUtc); } String latitude, longitude; TwitterGraphMLUtil.GetLatitudeAndLongitudeFromStatusValueDictionary( statusValueDictionary, out latitude, out longitude); String statusUrls, statusHashtags; TwitterGraphMLUtil.GetUrlsAndHashtagsFromStatusValueDictionary( statusValueDictionary, expandStatusUrls, out statusUrls, out statusHashtags); String inReplyToStatusID; TwitterJsonUtil.TryGetJsonValueFromDictionary( statusValueDictionary, "in_reply_to_status_id_str", out inReplyToStatusID); // Note that null date, coordinates, URLs hashtags, and in-reply-to-ID // are acceptable here. twitterStatus = new TwitterStatus( statusID, statusText, statusDateUtc, latitude, longitude, statusUrls, statusHashtags, inReplyToStatusID); return(true); }