Java 后台 google地图通过经纬度寻找地址

源代码:

   /** 
     * 根据经纬度获取地址 
     * @param longitude 
     * @param latitude 
     * @return 
     */  
    public static  String getGoogleAddressBylatlng(double latitude, double longitude){
    	
    	//socket.bind();
		String result = "";
		String addr="";
		try {
			URL U = new URL("http://ditu.google.com/maps/api/geocode/json?latlng="+latitude+","+longitude+"&language=zh-CN&sensor=false");
			URLConnection connection = U.openConnection();
			InputStream ins=connection.getInputStream();
			
			BufferedReader in = new BufferedReader(new InputStreamReader(ins,"UTF-8"));
			
			String line;
			while ((line = in.readLine())!= null){
				
				result += new String(line)+"\n";
			}
			 JSONObject object=JSONObject.fromObject(result);
			 Object results=object.get("results");
			 
			 JSONArray json= JSONArray.fromObject(results);
			 
			 Object obj[]= json.toArray();
			 JSONObject obj1=null;
			 if(obj.length>0){
				 obj1=JSONObject.fromObject(obj[0]);
				 addr=(String)obj1.get("formatted_address");
			 }else{
				 addr="未知地址";
			 }
			
		} catch (MalformedURLException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
        return addr;  
    } 

关键代码:

地址  http://ditu.google.com/maps/api/geocode/json?latlng=31.232,120.21&language=zh-CN&sensor=false

返回的是json格式数据,将上面地址中的json改为xml,将返回xml格式数据

导入关键包:

import net.sf.json.JSONArray;
import net.sf.json.JSONObject;






地图是一款基于Web的地图服务,它提供了一系列API供开发者使用。要在Java中通过天地图实现拖拽点位并获取经纬度地址信息,你需要使用其JavaScript API配合后端服务器交互。以下是一个简单的步骤概述: 1. **包含库**:首先,你需要在HTML页面中引入天地图JavaScript库。 ```html <script src="tangram.min.js"></script> <script src="tianmap-min.js"></script> ``` 2. **初始化地图**:在JavaScript中创建地图实例,并设置地图中心、缩放等属性。 ```javascript var map = new SuperMap.Map("container", { center: [116.404, 39.915], // 北京坐标 zoom: 13, projection: "EPSG:4326" }); ``` 3. **添加图层**:加载天地图的瓦片图层或其他所需的地理数据。 4. **监听事件**:在地图上添加鼠标拖动事件,当用户点击并拖动时,获取当前位置。 ```javascript map.events.register("mousemove", this, function (e) { var lonlat = map.getLonLatFromPixel(e.browserEvent.clientX, e.browserEvent.clientY); console.log('经纬度:', lonlat.lng, lonlat.lat); // 获取经纬度 // 调用天地图的服务来获取地址,这通常需要后台支持,因为地址解析通常不在前端完成 }); ``` 5. **后端交互**:由于地图API通常不会直接返回详细的地址,你需要向后端发送经纬度请求,让服务器使用第三方API(如百度地图API或Google Geocoding API)来获取地址。 注意:以上步骤是一个简化的示例,实际应用中可能还需要处理错误处理、异步请求、跨域等问题。另外,具体的地址获取通常涉及服务器端的操作,而非客户端的JavaScript代码。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值