`
- 浏览:
9829 次
- 性别:
- 来自:
哈尔滨
-
[size=medium][size=x-small]package com.cjjsys.util;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
import java.util.HashMap;
import java.util.Map;
import org.springframework.core.io.InputStreamResource;
import com.cjjsys.common.PropertiesUtils;
public class BaiduUtil {
public static final String KEY_1 = PropertiesUtils.getInstance().getValue("ak"); ;
// String key2 = "8ec6cd98bd56554407a207d597c0f3e5";
// String key3 = "be025dc280e1e3f7ffb95fe42a01fab2";
// String key4 = "327db7009617d6806b9c38e819ea06ac";
/**
* 返回输入地址的经纬度坐标
* key lng(经度),lat(纬度)
*/
public String getGeocoderLatitude(String lat,String lng){
System.out.println(lat+",lng:"+lng);
BufferedReader in = null;
try {
//将地址转换成utf-8的16进制
//address = URLEncoder.encode(address, "UTF-8");
// 如果有代理,要设置代理,没代理可注释
// System.setProperty("http.proxyHost","192.168.1.188");
// System.setProperty("http.proxyPort","3128");
//http://api.map.baidu.com/geocoder/v2/?ak=E4805d16520de693a3fe707cdc962045&callback=renderReverse&location=39.983424,116.322987&output=json&pois=1
String uri="http://api.map.baidu.com/geocoder/v2/?ak="+KEY_1+"&callback=renderReverse&" +
"location="+lat+","+lng+"&output=json&pois=0";
//"http://api.map.baidu.com/geocoder?callback=renderReverse&location="+ address +"&output=json&pois=0&key="+ KEY_1
URL tirc = new URL(uri);
HttpURLConnection conn = (HttpURLConnection)tirc.openConnection();
conn.setRequestProperty("Content-Type", "text/html;charset=utf-8");
conn.setDoOutput(true);
//尝试链接5次,如果正确的话就跳出循环没如果连接超时就重新连接
for(int i = 0; i < 5; i ++){
conn.connect();
if(conn.getResponseCode() == 200)
break;
else if(conn.getResponseCode() == 408)
Thread.sleep(5);
};
System.out.println(conn.getResponseCode());
in = new BufferedReader(new InputStreamReader(conn.getInputStream(), "utf-8"));
String res;
StringBuilder sb = new StringBuilder("");
while((res = in.readLine())!=null){
sb.append(res.trim());
}
String str = sb.toString();
System.out.println(str);
Map<String,String> map = null;
if(str!=null&&str.split("formatted_address\"\\:\"")[1]!=null&& str.split("formatted_address\"\\:\"")[1].split("\"\\,")[0]!=null){
System.out.println(str.split("formatted_address\"\\:\"")[1].split("\"\\,")[0]);
return str.split("formatted_address\"\\:\"")[1].split("\"\\,")[0];
}
}catch (Exception e) {
e.printStackTrace();
}finally{
try {
if(null!=in){
in.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
return null;
}
public static void main(String args[]){
BaiduUtil baiduUtil= new BaiduUtil();
//43.90637886442,lng:125.30130752475
String str = baiduUtil.getGeocoderLatitude("43.90637886442","125.30130752475");
}
}
[/size][/size]
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
百度Geocoding API与Route Matrix API调用代码(Java源码).rar Java代码后台调用Route Matrix API v1.0;Route Matrix API v2.0;Geocoding API
主要介绍了c#封装百度Web服务geocoding api 、百度坐标转换,需要的朋友可以参考下
地理编码器 GoLang软件包,提供了一种使用Google Geocoding API的简便方法。 通过以下链接查看有关Google Geocoding API的更多信息: : 您可以使用go get: go get github.com/kelvins/geocoder用法用法示例: ...
WeatherFore 使用OpenWeatherMap API和Google Geocoding API的天气应用,可以提供未来五天的天气预报
* 根据地理坐标获取国家、省份、城市,及周边数据类(利用百度Geocoding API实现) * 百度密钥获取方法:http://lbsyun.baidu.com/apiconsole/key?application=key(需要先注册百度开发者账号) * Func: * Public ...
Laravel开发-google-geocoding 用于Laravel的谷歌地理编码API集成
Google Geocoing 类库(C#). 兼容caching機制, 及資料庫寫入 http://gglgeo.codeplex.com/
尽管名字很长,但它是一个很小的Ruby库,可以通过Google Geocoding API或MelissaData快速标准化邮政地址。 因此,如果您有在线商店,并且需要验证送货地址,则可以考虑使用此库。 那不是什么 这不是对地址或位置...
Google Maps GeoCoding API 单元测试数据库,列表,片段和 要求的要求: Android 4及更高版本 使用Google Maps GeoCoding API 用户界面在搜索过程中响应 结果按收到的顺序列出 如果results.size> 1,则添加“在...
javascriptGoogleGeocodingTest 这是一个针对Google Geocoding API进行功能测试的项目。 项目是用JavaScript编写的测试设计选择运行测试先决条件:已安装Node.js 14.16.0(截至撰写本文时14.16.0是Node.js的最新版本...
依据百度官方开发文档简单制作的离线chm文档。分一般SDK和LBS SDK。其中有几项找不到页面,经查官网上即是如此。
首先需要申请百度地图Geocoding API Geocoding API包括地址解析和逆地址解析功能: 1.地理编码:即地址解析,由详细到街道的结构化地址得到百度经纬度信息,例如:“北京市海淀区中关村南大街27号”地址解析的结果...
Denuncia-api-Geoconding-Redis | | | :open_book: Projeto后端实用程序GeoCoding API和通讯缓存Redis。 :sparkles: 技术Esse projeto utiliza作为seguintes tecnologias: :laptop: 普罗耶托普通注册用户的使用权,...
LMGeocoder是使用Google Geocoding API和Apple iOS Geocoding Framework进行地理编码和反向地理编码的简单包装。 产品特点 地理编码和反向地理编码的包装,以及基于块的编码。 同时使用Google Geocoding API和Apple...
谷歌地理编码服务 适用于Reekoh IoT平台的Google Geocoding API服务插件。 将Reekoh实例集成到Google的Geocoding API中,以进行反向和正向地理编码。
简单地说,API 公开了一个方法,该方法将地址字符串作为输入并返回任何匹配的地理坐标列表。 用法 限制 使用 Google 的地理编码服务有一些限制,最明显的是以下几点: 没有谷歌地图,不得使用内容。 您不得在没有...
通讯录Api 这是用于注册地址和搜索地理位置的api。... 它是使用Java 11 + SpringBoot + MongoDB + Docker构建的RESTful API,除了使用Google Geocoding API查找地址的实际经度和纬度外,还提供Rest功能来存储地址。
地理编码是将地址(例如“ 1600 Amphitheatre Parkway,Mountain View,CA”)转换为地理坐标(例如纬度37.423021和经度-122.083739)的过程,可用于在地图上放置标记或定位地图。 该代码基于Google 使用基本的...
从某一地图坐标转换至另一地图坐标。支持经纬度类型:Google Earth, Google Maps, 百度地图,腾讯地图,高德地图,图吧地图。 单点查看与人工审核、修正坐标结果 你可以在地图上查看单点结果位置,如果位置不正确,...