zoukankan      html  css  js  c++  java
  • C# 高德地图调用帮助类 GaodeHelper

     /// <summary>
        /// 高德地图调用帮助类
        /// 更多详情请参考 高德api
        /// </summary>
        public class GaodeHelper
        {
            //高德平台申请的秘钥
            public static string SecretKey = "申请的秘钥";
    
            /// <summary>
            /// 获取经纬度
            /// </summary>
            /// <param name="address"></param>
            /// <param name="city"></param>
            /// <returns></returns>
            public static string GetGeocode(string address,string city)
            {
                string geocodeUrl = "http://restapi.amap.com/v3/geocode/geo?address={Address}&city={City}&output=json&key={SecretKey}"
                    .Replace("{SecretKey}", SecretKey)
                    .Replace("{Address}", address)
                    .Replace("{City}", city);
    
                string geocode = WebClientDownloadInfoToString(geocodeUrl);
                geocode = GetLatitudeAndLongitude(geocode);
                return geocode;
            }
    
            /// <summary>
            /// 获取城市之间的距离
            /// </summary>
            /// <param name="begin"></param>
            /// <param name="beginCity"></param>
            /// <param name="end"></param>
            /// <param name="endCity"></param>
            /// <returns></returns>
            public static string  GetDistance(string begin,string beginCity, string end, string endCity)
            {
                string origin = GetGeocode(begin,beginCity);
                string destination = GetGeocode(end, endCity); 
                string driveUri = "http://restapi.amap.com/v3/direction/driving?key={SecretKey}&origin={Origin}&destination={Destination}"
                    .Replace("{SecretKey}", SecretKey)
                    .Replace("{Origin}", origin)
                    .Replace("{Destination}", destination);
    
                string result= WebClientDownloadInfo(driveUri);
                //var gd = Newtonsoft.Json.JsonConvert.DeserializeObject<GaodeReturn>(result);
                return result; 
            }
    
            private static string WebClientDownloadInfo(string uri)
            { 
                string result = string.Empty;
                using (WebClient wc = new WebClient())
                {
                    wc.Headers[HttpRequestHeader.ContentType] = "application/xml;charset=UTF-8";
                    result = wc.DownloadString(uri);
                }
                return result;
            }
    
            /// <summary>
            /// 模拟请求
            /// </summary>
            /// <param name="uri"></param>
            /// <returns></returns>
            private static string WebClientDownloadInfoToString(string uri)
            {
                string result = string.Empty;
                using (WebClient wc = new WebClient())
                {
                    wc.Headers[HttpRequestHeader.ContentType] = "application/xml;charset=UTF-8";
                    result = wc.DownloadString(uri);
                }
                return result;
            }
    
            /// <summary>
            /// 解析返回的经纬度信息
            /// </summary>
            /// <param name="GeocodeJsonFormat"></param>
            /// <returns></returns>
            private static string GetLatitudeAndLongitude(string GeocodeJsonFormat)
            {
                JObject o = JObject.Parse(GeocodeJsonFormat);
                string geocodes = (string)o["geocodes"][0]["location"];
                return geocodes;
            }
        }
  • 相关阅读:
    解决:信息中插入avi格式的视频时,提示“unsupported video format”
    java字节数组和16进制之间的转换
    16进制转换字节数组工具类
    如何在ubuntu 12.04 中安装经典的 GNOME桌面
    Ubuntu安装软件提示”需要安装不能信任的软件包”解决办法
    Ubuntu系统下运行Eclipse出现找不到jre的问题的解决方法
    ubuntu添加共享出错
    从scrapy使用经历说开来
    有趣的问题--12 coins problem
    一个奇怪的MySQL错误返回
  • 原文地址:https://www.cnblogs.com/benbenfishfish/p/9680479.html
Copyright © 2011-2022 走看看