zoukankan      html  css  js  c++  java
  • C#使用百度API通过IP获取地理位置和坐标

    百度接口相关说明:http://developer.baidu.com/map/ip-location-api.htm

    返回是json格式,首先构建相关反系列化类:

     1 #region AddressForQueryIPFromBaidu
     2 [Serializable]
     3 public class AddressForQueryIPFromBaidu
     4 {
     5     public string Address { get; set; }
     6     public Content Content { get; set; }
     7     public string Status { get; set; }
     8 }
     9 [Serializable]
    10 public class Content
    11 {
    12     public string Address { get; set; }
    13     public Address_Detail Address_Detail { get; set; }
    14     public Point Point { get; set; }
    15 }
    16 [Serializable]
    17 public class Address_Detail
    18 {
    19     public string City { get; set; }
    20     public string City_Code { get; set; }
    21     public string District { get; set; }
    22     public string Province { get; set; }
    23     public string Street { get; set; }
    24     public string Street_Number { get; set; }
    25 }
    26 [Serializable]
    27 public class Point
    28 {
    29     public string X { get; set; }
    30     public string Y { get; set; }
    31 }
    32 #endregion

    接口调用方法:

     1 public static AddressForQueryIPFromBaidu GetAddressFromIP(string ipAddress)
     2 {
     3     string baiduKey = "59722ea6a425fbd81******80ee3ecbb";
     4     string url = "http://api.map.baidu.com/location/ip?ak="+baiduKey+"&ip="+ipAddress+"&coor=bd09ll";
     5     HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url);
     6     HttpWebResponse response = (HttpWebResponse)request.GetResponse();
     7     System.IO.Stream responseStream = response.GetResponseStream();
     8     System.IO.StreamReader sr = new System.IO.StreamReader(responseStream, System.Text.Encoding.GetEncoding("utf-8"));
     9     string responseText = sr.ReadToEnd();
    10     sr.Close();
    11     sr.Dispose();
    12     responseStream.Close();
    13     string jsonData = responseText;
    14     JavaScriptSerializer jss = new JavaScriptSerializer();
    15     AddressForQueryIPFromBaidu addressForQueryIPFromBaidu = jss.Deserialize<AddressForQueryIPFromBaidu>(jsonData);
    16     return addressForQueryIPFromBaidu;
    17 }
  • 相关阅读:
    [COCI20142015#1] Kamp
    [CEOI2007]树的匹配Treasury
    [JLOI2016/SHOI2016]侦察守卫
    [POI2015]MOD
    [BJOI2017]机动训练
    [九省联考2018]一双木棋chess
    [清华集训2012]串珠子
    [POI2014]ZALFreight
    [SHOI2009]舞会
    [COCI2019]Mobitel
  • 原文地址:https://www.cnblogs.com/CrazyAnts/p/3680631.html
Copyright © 2011-2022 走看看