通过java方法实现将地址转换成百度地图坐标

本文介绍了如何使用百度地图Web服务API和Java语言结合Excel数据进行地图应用开发,包括通过HTTP接口获取地理坐标数据及从Excel文件中读取店铺信息并展示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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;
	    }



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值