public static void SetPoIDAndCoordinate(Item item, dynamic status, string checkinUrl)
        {
            item.PoIDSource = WeiboUtilities.GetPoIDSource(checkinUrl);
            if (!WeiboUtilities.IsPOISourceInWhiteList(item.PoIDSource))
            {
                item.PoID = item.PoIDSource = null;
                return;
            }
            //情形一,有POID
            try
            {
                foreach (var anno in status.annotations)
                {
                    Tuple <string, float, float> tupe = LocationDBManager.GetPoIDAndCoordinateViaClientID(anno.place.poiid);
                    if (tupe == null)
                    {
                        tupe = AddNewLocation(anno.place, checkinUrl);
                    }
                    if (tupe != null)
                    {
                        item.PoID = tupe.Item1;
                        item.Lon  = tupe.Item2;
                        item.Lat  = tupe.Item3;
                        return;
                    }
                }
            }
            catch (Exception) { }

            #region 尝试获取坐标
            Tuple <float, float> coordinate = null;
            try
            {
                foreach (var anno in status.annotations)
                {
                    //从wpinfo获取坐标
                    coordinate = Utilities.GetCoordinateViaWPInfo(anno.wpinfo);
                }
            }
            catch (Exception) { }
            if (coordinate == null)
            {
                try
                {
                    //从GEO获取坐标
                    coordinate = Utilities.GetCoordinateViaGEO(status.geo);
                }
                catch (Exception) { }
            }
            if (coordinate == null)
            {
                try
                {
                    //尝试解析签到链接获取url
                    coordinate = Utilities.GetCoordinateViaUrl(checkinUrl);
                }
                catch (Exception) { }
            }
            #endregion

            if (coordinate != null)
            {
                item.Lon = coordinate.Item1;
                item.Lat = coordinate.Item2;
            }

            //有checkinUrl
            if (checkinUrl != null)
            {
                var tupe = GetPoIDAndCoordinateViaUrl(checkinUrl);
                if (tupe == null)
                {
                    tupe = AddNewLocation(coordinate, checkinUrl);
                }
                if (tupe != null)
                {
                    item.PoID = tupe.Item1;
                    item.Lon  = tupe.Item2;
                    item.Lat  = tupe.Item3;
                }
                return;
            }

            //只有坐标
            if (coordinate != null)
            {
                item.PoID = GetPoIDViaCoordinate(coordinate.Item1, coordinate.Item2);
                if (item.PoID == null)
                {
                    item.PoID = AddNewLocation(coordinate);
                }
                return;
            }

            //什么都没有
            item.PoID = item.PoIDSource = null;
        }