1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 调用腾讯地图api获取国内景点经纬度信息存到json文件

调用腾讯地图api获取国内景点经纬度信息存到json文件

时间:2020-01-12 18:54:30

相关推荐

调用腾讯地图api获取国内景点经纬度信息存到json文件

两个实体类:

public class JDList{public string jdName { get; set; }public string location { get; set; }}public class Rootobject{public int status { get; set; }public string message { get; set; }public int count { get; set; }public List<Datum> data { get; set; }public string request_id { get; set; }}public class Datum{public string id { get; set; }public string title { get; set; }public string address { get; set; }public string category { get; set; }public int type { get; set; }public Location location { get; set; }public int adcode { get; set; }public string province { get; set; }public string city { get; set; }public string district { get; set; }}public class Location{public float lat { get; set; }public float lng { get; set; }}

添加一个app.config文件内容:

<?xml version="1.0" encoding="utf-8" ?><configuration><appSettings><add key="Address" value="北京,天津,上海,澳门,香港,重庆,内蒙古,广西,西藏,宁夏,新疆,河北,山西,辽宁,吉林,黑龙江,江苏,浙江,安徽,福建,江西,山东,河南,湖北,湖南,广东,海南,四川,贵州,云南,陕西,甘肃,青海,台湾"/></appSettings></configuration>

窗体代码:

public partial class Form1 : Form{private Rootobject root = new Rootobject();private List<JDList> jdList = new List<JDList>();List<string> addList = new List<string>();public Form1(){string[] address = ConfigurationManager.AppSettings["Address"].Split(',');InitializeComponent();label1.Visible = false;foreach (var item in address){addList.Add(item);}}private void Getjson(string add){string strURL = $"https://apis./ws/place/v1/suggestion/?region={add}&keyword=旅游景点&key=你自己申请的key";HttpWebRequest request;// 创建一个HTTP请求request = (HttpWebRequest)WebRequest.Create(strURL);//request.Method="get";HttpWebResponse response;response = (HttpWebResponse)request.GetResponse();StreamReader myreader = new StreamReader(response.GetResponseStream(), Encoding.UTF8);string responseText = myreader.ReadToEnd();myreader.Close();root = new Rootobject();root = JsonConvert.DeserializeObject<Rootobject>(responseText);if (root.data != null){foreach (var item in root.data){JDList jd = new JDList();jd.jdName = item.city + item.title;jd.location = item.location.lng.ToString() + "," + item.location.lat.ToString();jdList.Add(jd);}}}private void button1_Click(object sender, EventArgs e){label1.Visible = true;label1.ForeColor = Color.Red;label1.Text = "正在下载......";TaskFactory fac = new TaskFactory();List<Task> tasklist = new List<Task>();tasklist.Add(fac.StartNew(() => GetJDNameList()));Task.WaitAll(tasklist.ToArray());label1.Visible = false;}private void GetJDNameList(){foreach (var item in addList){Thread.Sleep(500);Getjson(item);}string json = JsonConvert.SerializeObject(jdList);FileStream fs = new FileStream("景点.json", FileMode.Create);//在程序根目录下创建txt文件StreamWriter sw = new StreamWriter(fs, Encoding.UTF8);//创建写文件的流sw.WriteLine(json);sw.Close();fs.Close();MessageBox.Show("下载完成");}}

文章转自码农猩球。原文链接: http://www.dotnetstar.club/c/10104

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。