JAVA 对接腾讯地图,经纬度转换
package com.lvjing.util; import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import org.springframework.stereotype.Service; import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.HashMap;
import java.util.Map; /**
* \* Created with IntelliJ IDEA.
* \* User: 46512
* \* Author:ZY
* \* Date: 2018/7/24
* \* To change this template use File | Settings | File Templates.
* \* Description:
* \
*/
@Service
public class GPSTranslate { // key,需要在腾讯地图申请一个KEY
private static final String KEY = ""; /**
* @Description: 通过经纬度获取位置
* @Param: [log, lat]
* @return: java.lang.String
* @Author: zy
* @Date: 2018/7/24
*/
public static Map<String, Object> getLocation(String lng, String lat) { Map<String, Object> resultMap = new HashMap<String, Object>(); // 参数解释:lng:经度,lat:维度。KEY:腾讯地图key
String urlString = "http://apis.map.qq.com/ws/coord/v1/translate?locations=" +
lat + "," + lng +"&type=1"+"&key=" + KEY ; String result = "";
try {
URL url = new URL(urlString);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setDoOutput(true);
// 腾讯地图使用GET
conn.setRequestMethod("GET");
BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream(), "UTF-8"));
String line;
// 获取地址解析结果
while ((line = in.readLine()) != null) {
result += line + "\n";
//System.out.println(result);
}
in.close();
} catch (Exception e) {
e.getMessage();
} // 转JSON格式
JSONObject jsonObject = JSONObject.fromObject(result);
//System.out.println(jsonObject);
// 获取地址(行政区划信息) 包含有国籍,省份,城市
JSONObject a = new JSONObject();
//String code = jsonObject.getString("locations");
String locations = jsonObject.get("locations").toString();
//System.out.println(locations); JSONArray jsonArray = jsonObject.getJSONArray("locations");
//System.out.println(jsonArray.getJSONObject(0).get("lat"));
String lat_result = jsonArray.getJSONObject(0).get("lat").toString();
String lng_result = jsonArray.getJSONObject(0).get("lng").toString(); resultMap.put("lat", lat_result);
resultMap.put("lng", lng_result); return resultMap;
} public static void main(String[] args) {
// 测试
String lat = "30.287574000";//维度
String lng = "120.07875200";//经度 Map<String, Object> map = getLocation(lng, lat);
System.out.println(map);
System.out.println("la:" + map.get("lat"));
System.out.println("lo:" + map.get("lng"));
}
}
JAVA 对接腾讯地图,经纬度转换的更多相关文章
- 百度地图经纬度转换JS版
//百度地图的坐标转换,由于百度地图在GCJ02协议的基础上又做了一次处理,变为 BD09协议的坐标,以下是坐标的转化方式,可以方便和其他平台转化 jQuery.MapConvert = { x_pi ...
- PHP CURL根据详细地址获取腾讯地图经纬度
<?php $address = "广东省广州市天河区"; $point = getPoint($address); var_dump($point);//输出经纬度 /** ...
- 地图API使用文档-以腾讯地图为例
目录 腾讯地图API 2 1.API概览... 2 1.1 WebService API(官网注明是beta版本,可能不稳定,慎用):... 2 1.2 URL API:... 2 1.3 静态图AP ...
- js不同地图坐标系经纬度转换(天地图,高德地图,百度地图,腾讯地图)
1.js转换代码 1 //转换常数 2 var x_pi = 3.14159265358979324 * 3000.0 / 180.0; 3 var pi = 3.14159265358979324; ...
- JAVA使用经纬度通过腾讯地图API获取详细地址
官方文档:https://lbs.qq.com/service/webService/webServiceGuide/webServiceGcoder package com.weixin.map; ...
- 微信小程序wx.getLocation()获取经纬度及JavaScript SDK调用腾讯地图API获取某一类地址
简介 腾讯位置服务为微信小程序提供了基础的标点能力.线和圆的绘制接口等地图组件和位置展示.地图选点等地图API位置服务能力支持,使得开发者可以自由地实现自己的微信小程序产品. 在此基础上,腾讯位置服务 ...
- [微信小程序] 微信小程序获取用户定位信息并加载对应城市信息,wx.getLocation,腾讯地图小程序api,微信小程序经纬度逆解析地理信息
因为需要在小程序加个定位并加载对应城市信息 然而小程序自带api目前只能获取经纬度不能逆解析,虽然自己解析方式,但是同时也要调用地图,难道用户每次进小程序还要强行打开地图选择地址才定位吗?多麻烦也不利 ...
- 地图经纬度坐标与屏幕坐标的转换(android版)
我们在开发GIS系统的时候,首先要解决的就是地图的可视化问题,这个问题的关键就在于如何把地图的坐标转换成屏幕坐标,然后才到渲染着色.标注等.以下以wgs84经纬度坐标为基准,介绍一下地图经纬度坐标与屏 ...
- js 根据固定位置获取经纬度--腾讯地图
1.首先引入jq 和 腾讯地图js <script src="../js/jQuery.js"></script> <script charset=& ...
随机推荐
- shell脚本 快照还原Hbase数据库
#!/bin/bash for i in $(cat ./hbaseTable);do echo "disable '$i'" | hbase shellecho "re ...
- RS485转USB插电脑上通讯不上
在确定没有其他问题时,基本可以确定是干扰问题,换个24V电源试试,不要用原来的线 485接口确定,好坏通过两个相反对接,发送信息,两边一致,就可以
- Spring _day01_下载、概述、监听器
Spring:SE/EE开发的一站式框架. .一站式框架:有EE开发的每一层解决方案. . WEB层 :SpringMVC . Service层 :Spring的Bean管理,Spring ...
- 完全关闭及再次启动cdh集群
关闭集群 - 关闭集群所有组件 关闭Cloudera Management Service 关闭cdh所有客户端节点 sudo /opt/cloudera-manager/cm-5.11.1/etc/ ...
- 下载RDO OpenStack RPM
先把http://mirrors.163.com/centos/7.2.1511/cloud/x86_64/openstack-newton/目录下的rpm包整理到一个文件rpmlist.txt中,然 ...
- python中的unique()
a = np.unique(A) 对于一维数组或者列表,unique函数去除其中重复的元素,并按元素由大到小返回一个新的无元素重复的元组或者列表 import numpy as np A = [1, ...
- springboot接收delete或者put方法体参数
springboot默认配置了hiddenHttpMethodFilter(可以在springboot启动日志中看到) 因为hiddenHttpMethodFilter只会拦截get和post请求方式 ...
- 关于Flex布局
Flex是Flexible Box的缩写,意为“弹性布局”.弹性布局提供了一种更加有效的方式来对一个容器内的项目进行排列/对齐/分配空间等操作,让盒模型具有更大的灵活性.在一个容器盒子上添加displ ...
- LINUX安装vm tools及使用方法(centos7,vm12)
1.安装vmtools: 下载文件之后,到自动挂在的目录下(/run/media/用户名),将文件cp到其他的目录: 然后到其他的目录,解压缩,执行pl文件,执行方式:./vmware-install ...
- StringBuffer&StringBuilder
对字符串修改时,用到StringBuffer&StringBuilder,能够多次修改对象并且不产生新的未使用对象 StringBuilder线程不安全(不能同步访问),速度有优势,多数情况下 ...