Вызов API Карт Google с сервера

Есть ли способ вызвать веб-API Карт Google с моего сервера приложений, т.е. я хочу сказать, из кода Java или из любого кода на стороне сервера без использования какого-либо JavaScript?

Поскольку мы можем вызывать эти api карты из нашего приложения для Android, при условии, что наш файл манифеста содержит API KEY. Но как этого добиться на моем сервере приложений, который будет управлять этим приложением для Android.


person Shubham Bhewanewala    schedule 08.10.2017    source источник
comment
Да, вы можете это сделать. Веб-API карт Google содержит множество сервисов. ты о чем?   -  person imk    schedule 08.10.2017
comment
Я говорю о том, могу ли я вызывать эти веб-службы со своего сервера приложений? Считай это местом api   -  person Shubham Bhewanewala    schedule 09.10.2017


Ответы (1)


Поскольку я недавно работал с API матрицы расстояний, поэтому я и ссылаюсь на этот пример. Для вызова API Google с сервера приложений сначала необходимо добавить библиотеку в проект через Maven.

Maven

<dependency>
    <groupId>com.google.maps</groupId>
    <artifactId>google-maps-services</artifactId>
    <version>0.2.2</version>
</dependency>
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-nop</artifactId>
    <version>1.7.25</version>
</dependency>

Вы также можете добавить зависимости Gradle, а затем следуйте приведенному ниже примеру.

LatLng origin, LatLng destination
GeoApiContext context = new GeoApiContext.Builder()
    .apiKey(your_google_api_key)
    .build(); 

//This one is for asynchronous calling style
DistanceMatrixApi.newRequest(context).origins(origin).destinations(destination)
              .setCallback(new PendingResult.Callback<DistanceMatrix>() {
                @Override
                public void onResult(DistanceMatrix result) { 

                 Gson gson = new GsonBuilder().setPrettyPrinting().create();
                 System.out.println(gson.toJson(result.rows[0].elements[0].duration));

                }

                @Override
                public void onFailure(Throwable e) {
                // Handle error.
                }
    });

Запросы также поддерживают стиль синхронного вызова. Также предусмотрена автоматическая повторная попытка при возникновении периодических сбоев. Для получения более подробных сведений и функций обратитесь к этой официальной документации.

person imk    schedule 09.10.2017