我从GPS设备获得一定的经度和经度。我必须知道这个地方的地址。我怎么能用java做。当我知道纬度和经度时,Google是否提供了谷歌提供的API来了解地址?
答案 0 :(得分:2)
Google的Geocoding和Places API完全符合您的要求。
答案 1 :(得分:2)
在以下示例中,包含两个主要概念。
Web服务客户端用于从另一个提供某些Web服务的服务器访问资源
使用此服务,您可以使用纬度,经度
进行地址使用Google正在提供免费的网络服务客户端URI 那是
"https://maps.googleapis.com/maps/api/geocode/json?latlng=<LATITUDE>,<LONGITUDE> &key=<ENTER YOUR PLACE API KEY HEAR>
使用该服务您可以从Google Place API获取JSON格式的所有类型的地址
您可以从JSON数据中找到所需的对象和值
我从那个JSON数据
给你formatted_address以下代码使用纬度,经度获取位置地址
package clientpkg;
import java.net.URI;
import javax.ws.rs.client.Client;
import javax.ws.rs.client.ClientBuilder;
import javax.ws.rs.client.WebTarget;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.UriBuilder;
import org.glassfish.jersey.client.ClientConfig;
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
public class MapAdd
{
public static void main(String...aa)
{
try
{
System.out.println("Finding Address...\n");
ClientConfig config = new ClientConfig();
Client client = ClientBuilder.newClient(config);
WebTarget target = client.target(getBaseURI());
String jsonaddresss = target.request().accept(MediaType.APPLICATION_JSON).get(String.class);
String address = adres(jsonaddresss);
System.out.println("Perfect Address is : >>"+address);
}
catch(Exception e)
{
System.out.println("Error"+e);
}
}
private static URI getBaseURI()
{
return UriBuilder.fromUri("https://maps.googleapis.com/maps/api/geocode/json?latlng=32.263200,50.778187&key=<ENTER YOUR PLACE API KEY HEAR >").build();
}
private static String adres(String jsonaddresss)
{
try
{
JSONParser parser = new JSONParser();
Object obj = parser.parse(jsonaddresss);
JSONObject jsonObject = (JSONObject) obj;
JSONArray msg = (JSONArray) jsonObject.get("results");
//System.out.println("Message"+msg.get(1)); //Get Second Line Of Result
JSONObject jobj = (JSONObject) parser.parse(msg.get(1).toString()); // Parsse it
String perfect_address = jobj.get("formatted_address").toString();
jsonaddresss = perfect_address;
}
catch(Exception e)
{
jsonaddresss = "Error In Address"+e;
}
return jsonaddresss;
}
}