как получить широту и долготу данного названия города или адреса (java-код)? - PullRequest
0 голосов
/ 19 октября 2019

Я хочу получить широту и долготу из названия города в проекте Java (затмение) с GoogleMaps. Я пытался с этим кодом, но я нахожу несколько ошибок. Я думаю, потому что это для Android. Интересно, можете ли вы помочь мне ??

public boolean getLatitudeAndLongitudeFromGoogleMapForAddress(String searchedAddress){

    Geocoder coder = new Geocoder(IPlant.iPlantActivity);
    List<Address> address;
    try 
    {
        address = coder.getFromLocationName(searchedAddress,5);
        if (address == null) {
            Log.d(TAG, "############Address not correct #########");
        }
        Address location = address.get(0);

        Log.d(TAG, "Address Latitude : "+ location.getLatitude();+ "Address Longitude : "+ location.getLongitude());
        return true;

    }
    catch(Exception e)
    {
        Log.d(TAG, "MY_ERROR : ############Address Not Found");
        return false;
    }
}

1 Ответ

0 голосов
/ 21 октября 2019

Код, который вы разместили, действительно для Android, поскольку он использует класс геокодера Android .

Если вы пытаетесь геокодировать адреса на стороне сервера в веб-приложении, то вывместо этого следует использовать клиентские библиотеки для веб-служб . Java-клиент можно найти здесь , и он предоставляет следующий пример кода для API геокодирования:

GeoApiContext context = new GeoApiContext.Builder()
    .apiKey("AIza...")
    .build();
GeocodingResult[] results =  GeocodingApi.geocode(context,
    "1600 Amphitheatre Parkway Mountain View, CA 94043").await();
Gson gson = new GsonBuilder().setPrettyPrinting().create();
System.out.println(gson.toJson(results[0].addressComponents));

Обратите внимание, что вам понадобится действительный ключ API;Я рекомендую вам просмотреть руководство Google по началу работы .

Надеюсь, это поможет вам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...