调用百度地图API进行批量经纬度获取

【实例简介】
【实例截图】
在这里插入图片描述
文件:n459.com/file/25127180-478966203

【核心代码】

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Net;
using System.Text;
using System.Windows.Forms;
using System.Web.Script.Serialization;

namespace HTTPLocation
{

public partial class Form1 : Form
{
    string[] nameArray;

    public Form1()
    {
        InitializeComponent();
        readText();
    }

    public void readText()
    {
        //文件路径
        string filePath = @"C:\Users\srszz\Desktop\1.txt";
        string name;
        try
        {
            if (File.Exists(filePath))
            {
                name = File.ReadAllText(filePath);
                byte[] mybyte = Encoding.UTF8.GetBytes(name);
                name = Encoding.UTF8.GetString(mybyte);
                nameArray = name.Split(new[] { "、" }, StringSplitOptions.None);


            }
            else
            {
                MessageBox.Show("文件不存在");
            }
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
        }
    }

    /// <summary>
    /// GET方式发送得结果
    /// </summary>
    /// <param name="url">请求的url</param>
    public static string DoGetRequestSendData(string url)
    {
        HttpWebRequest hwRequest = null;
        HttpWebResponse hwResponse = null;

        string strResult = string.Empty;
        try
        {
            hwRequest = (System.Net.HttpWebRequest)WebRequest.Create(url);
            //hwRequest.Timeout = 30000;
            hwRequest.Method = "GET";
            hwRequest.ContentType = "application/x-www-form-urlencoded";
        }
        catch (System.Exception err)
        {

        }
        try
        {
            hwResponse = (HttpWebResponse)hwRequest.GetResponse();
            StreamReader srReader = new StreamReader(hwResponse.GetResponseStream(), Encoding.ASCII);
            strResult = srReader.ReadToEnd();
            srReader.Close();
            hwResponse.Close();
        }
        catch (System.Exception err)
        {
        }
        return strResult;
    }


    private void button1_Click(object sender, EventArgs e)
    {
        for(int i = 0; i < nameArray.Length; i  )
        {
            string url = "https://restapi.amap.com/v3/geocode/geo?key=9718f7d38804e8d1f59ba92a4e0223fe&address=河北省保定市高碑店市"   nameArray[i]   "&city=保定";
            string strResult = DoGetRequestSendData(url);
            JavaScriptSerializer js = new JavaScriptSerializer();   //实例化一个能够序列化数据的类
            Class1 list = js.Deserialize<Class1>(strResult);
            Class2 item = list.geocodes[0];
            string txt = @"{""name"":"   @""""   nameArray[i]   @""""   @","   @"""pos"":"   @"["   item.location   @"]},";
            writeTxt(txt);
            if(i == nameArray.Length - 1)
            {
                MessageBox.Show("请求完毕");

            }
        }


    }

    public void writeTxt(string txt)
    {
        //文件路径
        string filePath = @"C:\Users\srszz\Desktop\2.txt"; ;

        //检测文件夹是否存在,不存在则创建

        //定义编码方式,text1.Text为文本框控件中的内容
        byte[] mybyte = Encoding.UTF8.GetBytes(txt);
        string mystr1 = Encoding.UTF8.GetString(mybyte);

        //写入文件
        //File.WriteAllBytes(filePath,mybyte);//写入新文件
        //File.WriteAllText(filePath, mystr1);//写入新文件
        File.AppendAllText(filePath, mystr1);//添加至文件
    }

    private void Form1_Load(object sender, EventArgs e)
    {

    }
}

}

猜你喜欢

转载自blog.csdn.net/gumenghua_com1/article/details/112559389