Java实现根据地址调用高德地图获取经纬度等信息
最近在做一个车辆调度的应用系统,需要根据车辆和站点的位置做相应的规划,因此要调用第三方的地图接口来获取经纬度等信息。这里,我选择的是高德平台,下面是一个从注册到简单使用的例子,可供大家学习参考,更深入的使用,大家可参考官网学习。
1、关于高德开放平台
高德开放平台的网址:http://lbs.amap.com/
注册账号:如果之前没有注册过账号,先注册账号。
2、创建应用
注册号账号,登录进去之后,进入个人控制台。控制台界面如下:
然后,依次点击应用管理-->我的应用-->创建新应用,如下图所示。
填写应用名称和类型,随便填:
点击创建之后,在“我的应用”里就会出现刚才创建的应用。
3、获取key
然后,点击右上角“添加”。
会出现下面的页面,根据你的应用类型选择就行了。对于普通的Java应用,选择“Web服务”就可以了。
填好相关信息,提交之后,在“我的个人网站”里就可以看到生成的key了:
四、代码根据地址获取经纬度
涉及相关maven依赖:
<dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.24</version>
</dependency>
<dependency><groupId>org.apache.httpcomponents</groupId><artifactId>httpclient</artifactId>
</dependency>
代码如下:
注意,一定要替换你自己的key,不要一上来就执行!
package ztt.map;import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import org.apache.http.HttpEntity;
import org.apache.http.client.config.RequestConfig;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;import java.io.IOException;/*** @Description:* @Auther: ztt* @Date: 2020/4/22 15:48*/
public class GaoDeMapUtil {public static void main(String[] args) {// 地址名称String address = "上海交通大学徐汇校区";// 刚刚申请的key。一定要换成你自己的key!!!!!!!String key = "aaaaaaaaaaaaaaa";// 调用自己写好的封装方法JSONObject positionObj = getLngAndLat(address, key);String longitude = positionObj.getString("longitude");String latitude = positionObj.getString("latitude");System.out.println("经度:" + longitude);System.out.println("纬度:" + latitude);}/*** 根据地址查询经纬度** @param address* @param key* @return*/public static JSONObject getLngAndLat(String address, String key) {JSONObject positionObj = new JSONObject();try {// 拼接请求高德的urlString url = "http://restapi.amap.com/v3/geocode/geo?address=" + address + "&output=JSON&key=" + key;// 请求高德接口String result = sendHttpGet(url);JSONObject resultJOSN = JSONObject.parseObject(result);System.out.println("高德接口返回原始数据:");System.out.println(resultJOSN);JSONArray geocodesArray = resultJOSN.getJSONArray("geocodes");if (geocodesArray.size() > 0) {String position = geocodesArray.getJSONObject(0).getString("location");String[] lngAndLat = position.split(",");String longitude = lngAndLat[0];String latitude = lngAndLat[1];positionObj.put("longitude", longitude);positionObj.put("latitude", latitude);}geocodesArray.getJSONObject(0).getString("location");} catch (Exception e) {e.printStackTrace();}return positionObj;}/*** 发送Get请求** @param url* @return*/public static String sendHttpGet(String url) {HttpGet httpGet = new HttpGet(url);RequestConfig defaultRequestConfig = RequestConfig.custom().setConnectTimeout(3000).setSocketTimeout(10000).build();CloseableHttpClient httpClient = HttpClients.custom().setDefaultRequestConfig(defaultRequestConfig).build();String result = "";try {CloseableHttpResponse closeableHttpResponse = httpClient.execute(httpGet);HttpEntity entity = closeableHttpResponse.getEntity();result = EntityUtils.toString(entity, "UTF-8");} catch (IOException e) {e.printStackTrace();}return result;}
}
Java实现根据地址调用高德地图获取经纬度等信息相关推荐
- uniapp调用高德地图获取当前位置信息
1.在utils文件下建立AMap.js文件 export default function MapLoader() {return new Promise((resolve, reject) =&g ...
- vue中调用百度地图 获取经纬度
项目中,需要实现获取当前位置的经纬度,或者搜索某个位置并获取经纬度信息,我使用的的是vue,地图使用的是百度地图. 默认自动获取当前位置经纬度 拖动小红标 获取经纬度 关键词 查询获取经纬度 前期准备 ...
- Ptyhon 入门:通过高德地图获取经纬度
#1.引入包 import json import requests#2.通过高德接口获取经纬度 addr='地址' def gd_map(a):para = {'key': '高德key', # 高 ...
- Java 根据高德地图获取经纬度坐标
1: 申请高德服务key /*** @param addressName* @param cityName* @Description 根据高德地图, 通过地址获取经纬度坐标* @Throws* @R ...
- vue 获取用户位置 高德_vue引入高德地图获取经纬度地址
1.在index.html引入高德地图 //key找个适合例如:160cab8ad6c50752175d76e61ef92c50 2.在webpack.base.conf.js 配置引入 extern ...
- uni-app如何使用高德地图获取经纬度
高德官方文档:准备-入门-教程-地图 JS API v2.0|高德地图API (amap.com) 首先按照链接步骤获取key 两种使用方式.注意:选其一.不可两者同时使用 第一种:loadScrip ...
- HBulider调用高德地图获取不到详细位置信息
一:问题描述,在老版本的Hbuilder中,通过geolocation.getCurrentPosition 可以获取详细地址,但是更新了新版本之后,本方法无法获取详细地址,经过多次查阅资料,终于找到 ...
- vue使用高德地图获取经纬度信息
1.安装Loader npm i @amap/amap-jsapi-loader --save 2.在地图组件 MapContainer.vue 中引入 amap-jsapi-loader <s ...
- IOS使用高德地图获取当前位置信息
如何引用及权限的配置:http://blog.csdn.net/sbt0198/article/details/52728922 在配置完成的前提下,获取当前的位置以及逆编码信息: import UI ...
最新文章
- TensorFlow练习18: 根据姓名判断性别
- 为什么watch机制不是银弹?
- Android onTouchEvent, onClick及onLongClick的调用机制
- 指针的理解 -- java程序员学C语言日记二
- 不可求的电脑上必备软件,你也许听过
- 《软件需求分析》阅读笔记3
- Centos 7 mini安装
- python与数据思维基础笔记第一章_python学习笔记-第1章节 基础知识
- addClass函数
- 【Alpha阶段】第五次scrum meeting
- 从xgboost, lightgbm 到catboost
- cadence xbl封装转AD
- 运动员(射击)的成绩可以用脑电技术预测吗?
- Appium学习笔记17-手机操作API之分辨率
- 微信是怎样炼成的 微信产品的发展历程
- JavaScript-快速入门
- 统计分析——描述统计之数据水平描述
- 解决问题https访问http加载不出图片资源的顺便在给逻辑做个马杀鸡
- 腾讯云CVM使用体验
- 2019年阿里云服务器CentOS 7.3 64位 搭建VNC远程桌面服务步骤与方法
热门文章
- GB50254-2014电气装置安装工程低压电器施工及验收规范
- 论文翻译: Adaptive implicit friends identification over heterogeneous network for social recommendation
- 怎么用计算机圣诞节快乐,苹果Mac使用技巧:让你的电脑在圣诞节飘起雪花
- db2设置默认schema_DB2模式schema
- 欧盟儿童玩具EN71查收报告欧盟
- ref 引用(vue获取DOM元素)
- 来啊,来魔改啊,人生重开模拟器一键托管上线
- hue解决下载的excel表格为10万行的限制
- 应急部消防救援局职业技能鉴定中心发布调整鉴定报名方式公告
- php抓取网页内容实例,php中抓取网页内容的实例详解