通过java方法实现将地址转换成百度地图坐标
2015-01-30 13:44
567 查看
1.百度地图Web服务API为开发者提供http接口,即开发者通过http形式发起地址请求,获取返回json或xml格式的检索数据。用户可以基于此开发Java等语言的地图应用。
1.通过getPoint(paramers)方法传人Stores参数(Stores中有地址成员变量)返回一个带有地址的Stores参数对象
public static Stores getPoint(Stores stores){
try {
String sCurrentLine;
String sTotalString;
sCurrentLine = "";
sTotalString = "";
java.io.InputStream l_urlStream;
java.net.URL l_url = new java.net.URL("http://api.map.baidu.com/geocoder/v2/?address="+stores.getAddress().replaceAll(" ", "")+"&output=json&ak=702632E1add3d4953d0f105f27c294b9&callback=showLocation");
java.net.HttpURLConnection l_connection = (java.net.HttpURLConnection) l_url.openConnection();
l_connection.connect();
l_urlStream = l_connection.getInputStream();
java.io.BufferedReader l_reader = new java.io.BufferedReader(new java.io.InputStreamReader(l_urlStream));
String str=l_reader.readLine();
//用经度分割返回的网页代码
String s=","+"\""+"lat"+"\""+":";
String strs[]=str.split(s, 2);
String s1="\""+"lng"+"\""+":";
String a[]=strs[0].split(s1, 2);
System.out.println(a[1]);
stores.setLng(Float.parseFloat(a[1]));
s1="}"+","+"\"";
String a1[]=strs[1].split(s1, 2);
System.out.println(a1[0]);
stores.setLat(Float.parseFloat(a1[0]));
return stores;
//shop.setLat(a1[0]);
} catch (Exception e) {
e.printStackTrace();
}
return stores;
}2.一下代码是读取EXICE表格的方法 调用getListStores()方法返回一个List<Stores> 集合
public static List<Stores> getListStores(){
List<Stores> storess = new ArrayList<Stores>();
jxl.Workbook readwb = null;
try
{
//构建Workbook对象, 只读Workbook对象
//直接从本地文件创建Workbook
InputStream instream = new FileInputStream("E:/stroe.xls");
readwb = Workbook.getWorkbook(instream);
//Sheet的下标是从0开始
//获取第一张Sheet表
Sheet readsheet = readwb.getSheet(0);
//获取Sheet表中所包含的总列数
int rsColumns = readsheet.getColumns();
//获取Sheet表中所包含的总行数
int rsRows = readsheet.getRows();
//获取指定单元格的对象引用
for (int i = 1; i < rsRows; i++)
{
System.out.print(i+"------");
Stores stroes = new Stores();
stroes.setPublic_id(1613);
stroes.setShop_password("admin1");
//1613
stroes.setImg("");
stroes.setShow_order(1);
for (int j = 0; j < rsColumns; j++)
{
Cell cell = readsheet.getCell(j, i);
String str =cell.getContents();
switch(j){
case 0:
stroes.setName(str);
break;
case 1:
stroes.setPhone(str);
break;
case 2:
stroes.setProvince("广西自治区");
break;
case 3:
stroes.setCity(str);
break;
case 4:
stroes.setAddress(str);
break;
case 5:
break;
case 6:
break;
case 7:
stroes.setShop_login_name("admin"+i);
break;
case 8:
stroes.setShop_password("admin1");
break;
}
}
storess.add(stroes);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
readwb.close();
}
return storess;
}
1.通过getPoint(paramers)方法传人Stores参数(Stores中有地址成员变量)返回一个带有地址的Stores参数对象
public static Stores getPoint(Stores stores){
try {
String sCurrentLine;
String sTotalString;
sCurrentLine = "";
sTotalString = "";
java.io.InputStream l_urlStream;
java.net.URL l_url = new java.net.URL("http://api.map.baidu.com/geocoder/v2/?address="+stores.getAddress().replaceAll(" ", "")+"&output=json&ak=702632E1add3d4953d0f105f27c294b9&callback=showLocation");
java.net.HttpURLConnection l_connection = (java.net.HttpURLConnection) l_url.openConnection();
l_connection.connect();
l_urlStream = l_connection.getInputStream();
java.io.BufferedReader l_reader = new java.io.BufferedReader(new java.io.InputStreamReader(l_urlStream));
String str=l_reader.readLine();
//用经度分割返回的网页代码
String s=","+"\""+"lat"+"\""+":";
String strs[]=str.split(s, 2);
String s1="\""+"lng"+"\""+":";
String a[]=strs[0].split(s1, 2);
System.out.println(a[1]);
stores.setLng(Float.parseFloat(a[1]));
s1="}"+","+"\"";
String a1[]=strs[1].split(s1, 2);
System.out.println(a1[0]);
stores.setLat(Float.parseFloat(a1[0]));
return stores;
//shop.setLat(a1[0]);
} catch (Exception e) {
e.printStackTrace();
}
return stores;
}2.一下代码是读取EXICE表格的方法 调用getListStores()方法返回一个List<Stores> 集合
public static List<Stores> getListStores(){
List<Stores> storess = new ArrayList<Stores>();
jxl.Workbook readwb = null;
try
{
//构建Workbook对象, 只读Workbook对象
//直接从本地文件创建Workbook
InputStream instream = new FileInputStream("E:/stroe.xls");
readwb = Workbook.getWorkbook(instream);
//Sheet的下标是从0开始
//获取第一张Sheet表
Sheet readsheet = readwb.getSheet(0);
//获取Sheet表中所包含的总列数
int rsColumns = readsheet.getColumns();
//获取Sheet表中所包含的总行数
int rsRows = readsheet.getRows();
//获取指定单元格的对象引用
for (int i = 1; i < rsRows; i++)
{
System.out.print(i+"------");
Stores stroes = new Stores();
stroes.setPublic_id(1613);
stroes.setShop_password("admin1");
//1613
stroes.setImg("");
stroes.setShow_order(1);
for (int j = 0; j < rsColumns; j++)
{
Cell cell = readsheet.getCell(j, i);
String str =cell.getContents();
switch(j){
case 0:
stroes.setName(str);
break;
case 1:
stroes.setPhone(str);
break;
case 2:
stroes.setProvince("广西自治区");
break;
case 3:
stroes.setCity(str);
break;
case 4:
stroes.setAddress(str);
break;
case 5:
break;
case 6:
break;
case 7:
stroes.setShop_login_name("admin"+i);
break;
case 8:
stroes.setShop_password("admin1");
break;
}
}
storess.add(stroes);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
readwb.close();
}
return storess;
}
相关文章推荐
- Java通过google map api实现地址解析的方法
- java通过百度地图把实际地址转换为经纬度
- java通过百度地图把实际地址转换为经纬度
- java后台百度地图经纬度和地址之间的相互转换(通过经纬度获取地址、通过地址获取经纬度)
- java 通过webservice 地址得到其xml文实现方法
- Linux下Java 通过JNI native与C进行交互的方法实现示例
- 一个将数据文件转换成excel文件打印的java实现方法的代码片断(Struts+poi)
- JAVA 实现36进制转换数字 超级简单方法……
- java 实现视频转换通用工具类:视频加水印-通过Avs文件添加视频水印(五-2)
- java实现百度坐标的摩卡托坐标与火星坐标转换的示例
- java 实现视频转换通用工具类:视频相互转换-总方法及Mencoder(二)
- java中字符串处理、串联和转换的几个常用方法,以及如果需要自己编程实现的具体实施步骤。
- java 实现地址到经纬度坐标的转化
- java实现人民币大小写转换方法分享
- (转载)java 实现地址到经纬度坐标的转化
- 百度地图之地址信息和坐标的转换
- JAVA实现图像缩放(通过 java.awt.geom的仿射变换结合java.awt.image的各种插值方法实现)
- JAVA中实现图片对象转换成图片文件和字节数组(Byte[ ])的方法讨论
- Java通过反射实现方法调用
- Json字符串转换为java对象的各种实现方法【json_lib框架、Gson、org.json】