С 8 июля 2025 года вступают в силу изменения в условиях использования Google Maps Platform (GMP) для клиентов из Европейской экономической зоны (ЕЭЗ). Эти изменения, вызванные разбирательством Федерального антимонопольного ведомства Германии (Bundeskartellamt), касаются условий предоставления общедоступных сервисов GMP.
Суть изменений:
Google отказывается от трех положений в условиях обслуживания GMP:
3.2.3(d) No Re-Creating Google Products or Features: Запрет на воссоздание продуктов или функций Google.
3.2.3(e) No Use With Non-Google Maps: Запрет на использование с картами, отличными от Google Maps.
3.2.3(h) No Use in Embedded Vehicle Systems: Запрет на использование во встроенных автомобильных системах.
Вместе с этим, Google вносит изменения в некоторые сервисы GMP для новых интеграций, например:
Для отображения контента, связанного с Places (местами), необходимо использовать новый Places UI Kit, который работает с любыми картами, включая сторонние. Google Maps Content из Places API (нового и старого) больше не может отображаться с любой картой, включая Google Maps.
Клиенты из ЕЭЗ могут использовать GMP Services во встроенных автомобильных системах и для навигации в реальном времени с картами сторонних разработчиков, если это соответствует требованиям безопасности Google.
Влияние на существующие интеграции:
Если GMP интеграция в вашем проекте не будет существенно изменена 8 июля 2025 года или позже, вы сможете продолжать использовать GMP Services с отказом от вышеупомянутых трех положений. В противном случае, потребуется принять новую версию условий использования GMP для ЕЭЗ.
Влияние на приложения Delphi и Pascal:
Для разработчиков, использующих Delphi и Pascal для создания приложений, интегрированных с Google Maps Platform, важно понимать, как эти изменения могут повлиять на их проекты.
Простые приложения с картами и маркерами: Если ваши приложения используют только базовые функции Google Maps, такие как отображение карт с маркерами и геокодирование (преобразование координат в адреса и наоборот), то, скорее всего, изменения не окажут существенного влияния. Как указал Rollo62, если приложение не использует Places API или другие функции, связанные с таргетированной рекламой, то никаких действий предпринимать не потребуется.
// Пример геокодирования в Delphi с использованием сторонней библиотеки (например, Indy)
uses IdHTTP, IdJSONObjects;
function GetAddressFromCoordinates(Latitude, Longitude: Double): string;
var HTTP: TIdHTTP;
JSON: TJSONObject;
Results: TJSONArray;
AddressComponents: TJSONArray;
AddressComponent: TJSONObject;
Address: string; APIKey: string; // Замените на ваш API ключ Google Maps
URL: string;
I, J: Integer;
begin
Result := '';
APIKey := 'YOUR_GOOGLE_MAPS_API_KEY'; // Замените на ваш API ключ
URL := Format('https://maps.googleapis.com/maps/api/geocode/json?latlng=%f,%f&key=%s', [Latitude, Longitude, APIKey]);
HTTP := TIdHTTP.Create(nil); try Result := HTTP.Get(URL);
JSON := TJSONObject.Create(nil);
try
JSON.Parse(Result);
if JSON.Values['status'].AsString = 'OK' then
begin
Results := JSON.Values['results'] as TJSONArray;
if Results.Count > 0 then
begin
AddressComponents := (Results.Get(0) as TJSONObject).Values['address_components'] as TJSONArray;
Address := '';
for I := 0 to AddressComponents.Count - 1 do
begin
AddressComponent := AddressComponents.Get(I) as TJSONObject;
// Собираем адрес из компонентов
Address := AddressComponent.Values['long_name'].AsString + ', ' + Address;
end;
Result := Address;
end;
end
else
begin
// Обработка ошибок
Result := 'Ошибка геокодирования: ' + JSON.Values['status'].AsString;
end;
finally
JSON.Free;
end;
finally HTTP.Free;
end;
end;
Приложения, использующие Places API: Если ваши приложения используют Places API для отображения информации о местах (например, названия, адреса, рейтинги), то вам потребуется перейти на использование Places UI Kit для новых интеграций. Это потребует изменения кода и, возможно, перепроектирования пользовательского интерфейса.
Приложения для навигации: Возможность использования GMP Services для навигации с картами сторонних разработчиков открывает новые возможности, но требует соблюдения требований безопасности Google.
Альтернативные решения:
В связи с изменениями в GMP, стоит рассмотреть альтернативные картографические сервисы и библиотеки для Delphi и Pascal:
Leaflet: Легковесная JavaScript библиотека для интерактивных карт, которую можно использовать с Delphi, интегрируя ее через TWebBrowser или аналогичные компоненты.
OpenLayers: Более мощная JavaScript библиотека для работы с картами, также подходящая для интеграции с Delphi.
OpenStreetMap: Бесплатная, редактируемая карта мира, предоставляющая данные для создания собственных картографических приложений. Существуют библиотеки Delphi для работы с данными OpenStreetMap.
Yandex Maps API: Альтернативный картографический сервис с API для различных платформ, включая JavaScript, который можно интегрировать с Delphi.
Рекомендации:
Оцените влияние: Определите, какие из ваших приложений затронуты изменениями в GMP.
Изучите Places UI Kit: Если вы используете Places API, изучите документацию по Places UI Kit и спланируйте переход на его использование.
Рассмотрите альтернативы: Оцените возможность использования альтернативных картографических сервисов и библиотек.
Протестируйте изменения: После внесения изменений в код, тщательно протестируйте ваши приложения, чтобы убедиться в их корректной работе.
Примите новые условия: Если вы вносите существенные изменения в GMP интеграцию после 8 июля 2025 года, примите новую версию условий использования GMP для ЕЭЗ.
Изменения в Google Maps Platform требуют внимательного анализа и, возможно, внесения изменений в ваши приложения Delphi и Pascal. Своевременная оценка и планирование помогут вам минимизировать негативное влияние и продолжить предоставлять качественные картографические сервисы вашим пользователям.
Изменения в Google Maps Platform с 8 июля 2025 года повлияют на приложения Delphi и Pascal, особенно использующие Places API, требуя перехода на Places UI Kit или рассмотрения альтернативных картографических сервисов.
Комментарии и вопросы
Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.