获取2个地址之间的距离(高德API)

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

 string startLonLat = SiteHelper.GetLonLat("大连"); //获取起始地经度纬度
 string endLonLat = SiteHelper.GetLonLat("沈阳"); //获取目的地经度纬度
 int distance = SiteHelper.GetDistance(startLonLat, endLonLat); //计算2个地址的距离(单位千米)

 

        /// <summary>
        /// 获取经度纬度
        /// </summary>
        /// <param name="address">地址</param>
        /// <returns></returns>
        public static string GetLonLat(string address)
        {
            #region 返回数据格式
            //{
            //    "status":"1",
            //    "info":"OK",
            //    "infocode":"10000",
            //    "count":"1",
            //    "geocodes":[
            //        {
            //            "formatted_address":"浙江省杭州市西湖区",
            //            "province":"浙江省",
            //            "citycode":"0571",
            //            "city":"杭州市",
            //            "district":"西湖区",
            //            "township":Array[0],
            //            "neighborhood":Object{...},
            //            "building":Object{...},
            //            "adcode":"330106",
            //            "street":Array[0],
            //            "number":Array[0],
            //            "location":"120.130203,30.259324",
            //            "level":"区县"
            //        }
            //    ]
            //}
 
            //{
            //    "status":"0",
            //    "info":"INVALID_USER_KEY",
            //    "infocode":"10001"
            //}
            #endregion
 
            string queryUrl = "http://restapi.amap.com/v3/geocode/geo?key=6119e85de0fa6a97be90a0af41f0613c7&address=" + address; //高德接口
            string queryResult = Utils.HttpGet(queryUrl); //请求接口数据
            string location = string.Empty; //经度纬度
            JsonData jd = JsonMapper.ToObject(queryResult);//字符串转换成json格式
            int status = Utils.ObjToInt(jd["status"], 0);//查询结果 1:成功 0:失败 
            if (status == 1) //成功
            {
                JsonData list = jd["geocodes"];
                if (list.Count > 0)
                {
                    location = Utils.ObjectToStr(list[0]["location"]); //获取经度纬度
                }
            }
            return location;
        }
 

         /// <summary>
        /// 获取2个地址的距离
        /// </summary>
        /// <param name="startLonLat">起始地经度纬度</param>
        /// <param name="endLonLat">目的地经度纬度</param>
        /// <returns></returns>
        public static int GetDistance(string startLonLat, string endLonLat)
        {
            #region 返回数据格式
            //{
            //    "status":"1",
            //    "info":"OK",
            //    "infocode":"10000",
            //    "results":[
            //        {
            //            "origin_id":"1",
            //            "dest_id":"1",
            //            "distance":"936631",
            //            "duration":"37140"
            //        }
            //    ]
            //}
            #endregion
 
            int duration = 0;  //起始地与目的地之间的距离
            string queryUrl = "http://restapi.amap.com/v3/distance?key=6119e85defa6a97be090a0af41f0613c7&origins=" + startLonLat + "&destination=" + endLonLat; //高德接口
            string queryResult = Utils.HttpGet(queryUrl); //请求接口数据
            JsonData jd = JsonMapper.ToObject(queryResult);//字符串转换成json格式
            int status = Utils.ObjToInt(jd["status"], 0);//查询结果 1:成功 0:失败 
            if (status == 1) //成功
            {
                JsonData list = jd["results"];
                if (list.Count > 0)
                {
                    duration = Convert.ToInt32(Convert.ToInt64(list[0]["distance"].ToString()) / 1000);
                }
            }
            return duration;
        }

转载于:https://my.oschina.net/tshblogs/blog/1852864

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/277661.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

WPF属性学习

一.WPF属性系统 CLR属性 .NET中的属性称为CLR属性 转载于:https://www.cnblogs.com/programme-maker/p/10910166.html

chemdraw怎么连接两个结构_利用神经结构搜索构建快速准确轻量级的超分辨率网络...

介绍我们知道&#xff0c;把神经网络拆解&#xff0c;可以把它归结为几个元素的排列组合而成&#xff0c;例如&#xff0c;以卷积神经网络为例&#xff0c;其主要由卷积层&#xff0c;池化层&#xff0c;残差连接&#xff0c;注意力层&#xff0c;全连接层等组成&#xff0c;如…

Unity3D学习笔记之六创建更多的Prefab

在写完第五篇后&#xff0c;因为不知名的原因&#xff0c;我突然不能够上传100KB以上的图片在博客中了。等了几天还是这样&#xff0c;所以我用PS把图片的分辨率一张张调低&#xff0c;让图片的大小都在100左右&#xff0c;将积攒了四篇的学习笔记一起发上来&#xff0c;也算弥…

iOS底层探索(二) - 写给小白看的Clang编译过程原理

iOS底层探索(一) - 从零开始认识Clang与LLVM 写在前面 编译器是属于底层知识&#xff0c;在日常开发中少有涉及&#xff0c;但在我的印象中&#xff0c;越接近底层是越需要编程基本功&#xff0c;也是越复杂的。但要想提升技术却始终绕不开要对底层原理的探究&#xff0c;很多资…

四、构建Node Web程序

---恢复内容开始--- 一、HTTP 服务器的基础知识 1、Node如何向开发者呈现HTTP请求 2、一个用“Hello World”做响应的HTTP服务器 它用了默 认的状态码200&#xff08;表明成功&#xff09;和默认的响应头 3、读取请求头及设定响应头 Node提供了几个修改HTTP响应头的方法&#x…

datagrid 什么时候结束编辑_2020年中考结束后,什么时候出分?什么时候报志愿?...

导语7月19日下午16:00&#xff0c;2020年北京中考正式落下帷幕。考试结束后&#xff0c;很多家长和考生都会长舒一口气&#xff0c;但北京中考在线团队提醒你&#xff0c;现在还不是放松的时刻&#xff0c;中考结束后&#xff0c;还有成绩查询和填报志愿等重要事件等着你。那么…

Unity3D学习笔记之七创建自己的游戏场景

到现在为止我们已经拥有了比较完备的Prefab&#xff0c;已经可以创建宏大的游戏场景&#xff0c;并以第一人称视角在场景中漫游了。这里给大家做个小的示范&#xff0c;建一个小场景大家在创建场景的时候需要自由发挥&#xff0c;做个尽量大的场景出来。这一系列教程以及素材均…

excel if in函数_【Excel函数】Small+Index+IF 一对N返回

通常情况下&#xff0c;Vlookup和lookup函数只能返回满足条件的第一个&#xff0c;剩余的都不会返回。 这也是其函数的一个弊端之一。 若是按照条件&#xff0c;返回所有满足条件的数据&#xff08;1->N&#xff09;的&#xff0c;可是适用组合函数。 Index返回位置&#xf…

Unity3D学习笔记之八为场景添加细节(一)

这一系列教程以及素材均参考自人人素材翻译组出品的翻译教程《Unity游戏引擎的基础入门视频教程》&#xff0c;下载链接附在第二篇学习笔记中。我花了30分钟做了一个中等大小的迷宫场景&#xff0c;不知道大家自己发挥&#xff0c;做的场景大小如何。在完成场景之后&#xff0c…

mysql数据库表的管理(增删改)

表字段管理1. 添加到末尾alter table 表名 add 字段名 数据类型;2 添加到开头alter table 表名 add 数据类型 first;3. 添加到指定位置alter table 表名 add 新字段名 数据类型 after 原有字段名&#xff1b;4. 删除字段alter table 表名 drop 字段名;5. 修改数据类型alter ta…

哪个app最费电_微波炉和烤箱,买哪个划算?

微波炉和烤箱不能说买哪个划算&#xff0c;而是看哪个更适合&#xff1f;我家微波炉和烤箱两个都有&#xff0c;所以这个问题我来回答一下。虽然外形上看起来&#xff0c;微波炉和烤箱似乎没有多大的区别&#xff0c;从功能上看&#xff0c;它们也都是加热&#xff0c;但它们侧…

MATLAB数值计算与符号运算

符号计算 存放的是精确数据&#xff0c;耗存储空间 &#xff0c;运行速度慢&#xff0c;但结果精度高&#xff1b; 数值计算则是以一定精度来计算的&#xff0c;计算结果有误差&#xff0c;但是运行速度快。转载于:https://www.cnblogs.com/shawnchou/p/10927680.html

Unity3D学习笔记之九为场景添加细节(二)

上节为场景中添加了第一块带有碰撞器的石头&#xff0c;本节我们来利用Prefab&#xff0c;将场景细节都添加进去&#xff0c;并且做的更完善。这一系列教程以及素材均参考自人人素材翻译组出品的翻译教程《Unity游戏引擎的基础入门视频教程》&#xff0c;下载链接附在第二篇学习…

vux Cell组件

Cell 组件一 <style lang"scss">.cell {padding-top: 15px;padding-bottom: 15px;color: #333;img {display: block;margin-right: 15px;}} </style><template><Group><cell class"cell" title"钱包" :border-intent…

wifi名称可以有空格吗_收购公司后可以变更公司名称吗,变更公司名称和股权如何处理?...

【点击文末小程序&#xff0c;免费咨询法律问题】公司收购是指二手设备收购&#xff0c;指向目标公司的二手设备&#xff0c;废旧物资&#xff0c;进而获取目标公司的全部或部分业务&#xff0c;取得对拆除的控制权。那么&#xff0c;收购公司后可以变更公司名称吗&#xff0c;…

震惊的网站,都是干货

分享15个鲜为人知的的小众网站&#xff0c;每一个可以让你打开新世界的大门&#xff0c;让你震惊。 1&#xff1a;仿知网 https://www.cn-ki.net/ 仿知网是一个完全可以代替知网的精品网站&#xff1b;是一个非常强大的论文搜索网站。 首先这个网站的论文检索结果和知网的搜索结…

Kinect开发笔记之二Kinect for Windows 2.0新特性

这是本博客的第一篇翻译文档&#xff0c;笔者已经苦逼的竭尽全力的在翻译了&#xff0c;但无奈英语水平也是很有限&#xff0c;不对或者不妥当不准确的地方必然会有&#xff0c;还恳请大家留言或者邮件我以批评指正&#xff0c;我会虚心接受。谢谢大家。 原文网址&#xff1a;h…

持久化的基于L2正则化和平均滑动模型的MNIST手写数字识别模型

持久化的基于L2正则化和平均滑动模型的MNIST手写数字识别模型 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考文献Tensorflow实战Google深度学习框架 实验平台: Tensorflow1.4.0 python3.5.0MNIST数据集将四个文件下载后放到当前目录下的MNIST_data文件夹下 定义模型框架与…

怎样制作滴滴截图_滴滴老了吗?

作者 / 薛静 来源 / 盒饭财经(ID&#xff1a;daxiongfan)滴滴最近有点忙。6月11日&#xff0c;滴滴地图与公交事业部负责人柴华还在忙于解答消费者对于滴滴司机绕路的质疑&#xff0c;网上就流传出了滴滴司机直播性侵的消息。当晚&#xff0c;滴滴急忙在官方微博中做出回应称已…

mysql Backup recovery

如果您要在MySQL数据库中存储任何您不想丢失的内容&#xff0c;那么定期备份数据以保护数据免受损失非常重要。本教程将向您展示两种简单的方法来备份和恢复MySQL数据库中的数据。您还可以使用此过程将数据移动到新的Web服务器。 从命令行备份&#xff08;使用mysqldump&#x…