using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Globalization;
using System.Net;
using System.IO;
using System.Configuration;
using System.Xml;
namespace WSGPSGateway.BLL
{
public class LocationAPI
{
public static string GetAddressByLatLng(string Lat, string Lng)
{
string CellUrl = "http://*******/CellAPI.aspx?Lat={0}&Lng={1}&Type=99";
string url = string.Format(CellUrl, Lat.ToString(), Lng.ToString());
string htm = GetPage(url);
return htm;
}
public static string GetPage(string url)
{
if (url == "") return "";
WebResponse response = null;
Stream stream = null;
StreamReader reader = null;
try
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.UserAgent = @"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.40607; .NET CLR 1.1.4322)";
request.Timeout = 5000;
response = request.GetResponse();
stream = response.GetResponseStream();
if (Get_Chartset(response.Headers["Content-Type"].ToString()).ToLower() == "gbk")
{
reader = new StreamReader(stream, System.Text.Encoding.GetEncoding("GB2312"));
}
else if (Get_Chartset(response.Headers["Content-Type"].ToString()).ToLower() == "utf-8")
{
reader = new StreamReader(stream, System.Text.Encoding.UTF8);
}
else
{
reader = new StreamReader(stream, System.Text.Encoding.UTF8);
}
string buffer = reader.ReadToEnd();
return buffer;
}
catch (Exception ex)
{
DAL.Log.Write("google抓取数据失败异常! \0 错误记录:" + ex + "\r\n");
return "";
}
finally
{
if (reader != null) reader.Close();
if (stream != null) stream.Close();
if (response != null) response.Close();
}
}
public static string Get_Chartset(string s)
{
if (s.ToLower() == "text/html")
{
return "gbk";
}
else
{
int l = s.IndexOf("charset=") + 8;
return s.Substring(l, s.Length - l);
}
}
public string GetLatLng(string CID, string LAC)
{
string Url = "http://********/CellAPI.aspx?cid={0}&lac={1}";
Url = String.Format(Url, CID, LAC);
string LatLng = "";
try
{
LatLng = BLL.LocationAPI.GetPage(Url);
}
catch (Exception ex)
{
DAL.Log.Write("获取基站地址发生错误! \0 错误记录:" + ex + "\r\n");
DAL.Log.Write("-----------------------------------------------------------\r\n");
}
return LatLng;
}
}
}
C#根据经纬度请求返回坐标实际地址
最新推荐文章于 2024-10-30 16:32:48 发布
本文介绍了一个用于通过经纬度获取地理位置信息的.NET类库。该类库包含从经纬度获取地址和从基站信息获取经纬度的功能,并实现了根据不同字符集读取网页内容的方法。
101

被折叠的 条评论
为什么被折叠?



