GPS デバイスから特定の緯度と経度を取得しています。私はその場所の住所を知らなければなりません。Javaでできること。緯度と経度がわかっているときに住所を知るためにGoogleがJavaで提供するAPIはありますか?
質問する
11435 次
2 に答える
3
次の例には、2 つの主要な概念が含まれています。
Web サービス クライアントは、Web サービスを提供する別のサーバーからリソースにアクセスするために使用されます。
このサービスを使用すると、緯度、経度の住所使用を取得できます
Google は無料の Web サービス クライアント 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;
}
}
于 2017-05-21T11:55:52.240 に答える
2
Google のGeocodingとPlaces APIは、まさにあなたが望むことを行います。
于 2012-10-09T09:47:47.310 に答える