获取 utf-8 地理编码 google 地图 API asp 中的街道地址
get utf-8 geocode google map API Street address in asp
我是 asp.net (c#) 的初学者
但我需要从纬度和经度位置获取 utf-8 地址
所以我需要用 fa 语言检索地址,我已经将 language= fa 添加到 String 映射地址。
但它检索到奇怪的字符
这是我的代码:
public static void RetrieveFormatedAddress(string lat1, string lng1)
{
static string baseUri = "http://maps.googleapis.com/maps/api/geocode/xml?latlng={0},{1}&language=fa&sensor=true";
string requestUri = string.Format(baseUri, lat1, lng1);
using (WebClient wc = new WebClient())
{
wc.DownloadStringCompleted += new DownloadStringCompletedEventHandler(wc_DownloadStringCompleted);
wc.DownloadStringAsync(new Uri(requestUri));
}
}
static void wc_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
{
var xmlElm = XElement.Parse(e.Result);
var status = (from elm in xmlElm.Descendants()
where elm.Name == "status"
select elm).FirstOrDefault();
if (status.Value.ToLower() == "ok")
{
var res = (from elm in xmlElm.Descendants()
where elm.Name == "formatted_address"
select elm).FirstOrDefault();
Console.WriteLine(res.Value);
Console.WriteLine(res);
GetSMS getsms1 = new GetSMS();
getsms1.retrunAdress(res.Value);
}
else
{
Console.WriteLine("error");
}
}
然后 google 回复了我:
طھظ‡ط±ط§ظ†طŒ طھظ‡ط±ط§ظ†طŒ ط®غŒط§ط¨ط§ظ† ط§ظ…غŒط±غŒ ط·ط§ط¦ظ…ظ‡طŒ ط§غŒط±ط§ظ†
如何从 google 获取 'Farsi' 语言地址?
谢谢
在网上搜索了 2 天并测试了很多不同的代码后,我终于找到了解决方案。我的代码是正确的,但只需要在网络客户端对象上设置 UTF-8 Unicode。所以我的代码将更改为:
using (WebClient wc = new WebClient())
{
wc.Encoding = Encoding.UTF8;
wc.DownloadStringCompleted += new DownloadStringCompletedEventHandler(wc_DownloadStringCompleted);
wc.DownloadStringAsync(new Uri(requestUri));
}
这也适用于 UTF-8。
我是 asp.net (c#) 的初学者 但我需要从纬度和经度位置获取 utf-8 地址 所以我需要用 fa 语言检索地址,我已经将 language= fa 添加到 String 映射地址。 但它检索到奇怪的字符 这是我的代码:
public static void RetrieveFormatedAddress(string lat1, string lng1)
{
static string baseUri = "http://maps.googleapis.com/maps/api/geocode/xml?latlng={0},{1}&language=fa&sensor=true";
string requestUri = string.Format(baseUri, lat1, lng1);
using (WebClient wc = new WebClient())
{
wc.DownloadStringCompleted += new DownloadStringCompletedEventHandler(wc_DownloadStringCompleted);
wc.DownloadStringAsync(new Uri(requestUri));
}
}
static void wc_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
{
var xmlElm = XElement.Parse(e.Result);
var status = (from elm in xmlElm.Descendants()
where elm.Name == "status"
select elm).FirstOrDefault();
if (status.Value.ToLower() == "ok")
{
var res = (from elm in xmlElm.Descendants()
where elm.Name == "formatted_address"
select elm).FirstOrDefault();
Console.WriteLine(res.Value);
Console.WriteLine(res);
GetSMS getsms1 = new GetSMS();
getsms1.retrunAdress(res.Value);
}
else
{
Console.WriteLine("error");
}
}
然后 google 回复了我:
طھظ‡ط±ط§ظ†طŒ طھظ‡ط±ط§ظ†طŒ ط®غŒط§ط¨ط§ظ† ط§ظ…غŒط±غŒ ط·ط§ط¦ظ…ظ‡طŒ ط§غŒط±ط§ظ†
如何从 google 获取 'Farsi' 语言地址? 谢谢
在网上搜索了 2 天并测试了很多不同的代码后,我终于找到了解决方案。我的代码是正确的,但只需要在网络客户端对象上设置 UTF-8 Unicode。所以我的代码将更改为:
using (WebClient wc = new WebClient())
{
wc.Encoding = Encoding.UTF8;
wc.DownloadStringCompleted += new DownloadStringCompletedEventHandler(wc_DownloadStringCompleted);
wc.DownloadStringAsync(new Uri(requestUri));
}
这也适用于 UTF-8。