IPLocationModel.cs 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. namespace Azylee.YeahWeb.BaiDuWebAPI.IPLocationAPI
  6. {
  7. public class IPLocationModel
  8. {
  9. /// <summary>
  10. /// 经度(东经西经,纵向)
  11. /// </summary>
  12. public double Longitude { get; set; }
  13. /// <summary>
  14. /// 纬度(北纬南纬,横向)
  15. /// </summary>
  16. public double Latitude { get; set; }
  17. /// <summary>
  18. /// 结构化地址信息
  19. /// </summary>
  20. public string FormattedAddress { get; set; }
  21. /// <summary>
  22. /// 所在商圈信息
  23. /// </summary>
  24. public string Business { get; set; }
  25. /// <summary>
  26. /// 结合POI的语义化结果描述
  27. /// </summary>
  28. public string SematicDescription { get; set; }
  29. public Component Component { get; set; }
  30. public FirstPOI FirstPOI { get; set; }
  31. /// <summary>
  32. /// 对比两个位置是否相似
  33. /// </summary>
  34. /// <param name="loc"></param>
  35. /// <returns></returns>
  36. public bool Like(IPLocationModel loc)
  37. {
  38. try
  39. {
  40. if (this != null && loc != null && FirstPOI != null && loc.FirstPOI != null)//模型不为空
  41. if (FirstPOI.Address == loc.FirstPOI.Address)//判断语义化地址相同
  42. return true;//判定为相同地点
  43. }
  44. catch { }
  45. return false;
  46. }
  47. public override string ToString()
  48. {
  49. StringBuilder sb = new StringBuilder();
  50. sb.Append(FirstPOI?.Address + ",");
  51. sb.Append(SematicDescription ?? "");
  52. return sb.ToString();
  53. }
  54. }
  55. /// <summary>
  56. /// 地址组成
  57. /// </summary>
  58. public class Component
  59. {
  60. public string Country { get; set; }
  61. public string Province { get; set; }
  62. public string City { get; set; }
  63. public string District { get; set; }
  64. public string Town { get; set; }
  65. public string AdCode { get; set; }
  66. public string Street { get; set; }
  67. public string StreetNumber { get; set; }
  68. public string Direction { get; set; }
  69. public string Distance { get; set; }
  70. }
  71. /// <summary>
  72. /// 首选信息点
  73. /// </summary>
  74. public class FirstPOI
  75. {
  76. public string Address { get; set; }
  77. public string Name { get; set; }
  78. }
  79. }