Можно ли использовать tile гугл в коммерческом приложений
Еще год назад сервис Google Earth оставался уникальным и непонятным для российского потребителя. Теперь возможности Google Earth хорошо изучены, этот массовый сервис дистанционного зондирования Земли из космоса стал доступен и понятен и обычному человеку, и юридическим лицам. Кроме того, начинает рассматриваться возможность использования геосервисов в государственных программах.
С точки зрения некоммерческого использования Google Earth для обычного человека все более-менее понятно. Вы можете использовать сервис обычным образом, загружать изображения на свой компьютер, использовать изображение из приложения (например, на вашем веб-сайте, блоге или документе) с условием, что вы сохраняете изображения авторских прав и указания на авторство, включая логотип Google.
Однако нельзя продавать изображения другим, предоставлять в качестве части услуги (если, допустим, берется плата за вход на сайт) или использовать в коммерческом продукте - например, книге или ТВ-шоу.
Вопросы возникают при использовании сервиса Google Earth юридическими лицами, а также государственными и муниципальными органами и организациями.
Прежде всего, лицензионная политика Google Earth подчинена законам штата Калифорния, США, и подавляющему кругу малых и средних компаний - возможных потребителей Google Earth - эта правовая система неизвестна. В сервисе наличествует несколько лицензионных соглашений (см. например, лицензионное соглашение об использовании Google Планета Земля и соглашение, обязательное для принятия при загрузке сервиса на компьютер, данные лицензионные соглашения не идентичны и "осложнены" ссылками на прочие документы.
Если внимательно изучить лицензионное соглашение на английском и русском языках, то видны расхождения, при этом одним из условий использования Google является то, что перевод предоставляется исключительно для целей удобства ознакомления и что ваши отношения с Google регулируются версией на английском языке.
Справочный центр Google Планета Земля русскоязычным пользователям справок не дает, и у большинства российских компаний нет четкого понимания юридических возможностей использования сервиса. В связи с этим мы полагаем целесообразным подробно рассмотреть правовые условия использования данного сервиса.
Изнанка Google Earth
Семейство продуктов Google Планета Земля согласно данным портала Google Earth представлено следующими программными продуктами: Бесплатная версия «Google Планета Земля», «Google Планета Земля Плюс» (20 долларов в год по подписке), «Google Планета Земля Про» (400 долларов в год по подписке), а также «Google Планета Земля для предприятий».
Из буквального толкования текста данного соглашения следует, что:
- государственные и муниципальные органы не подпадают под термин хозяйствующие субъекты (business entity users), использованный в тексте лицензии, и потому не могут использовать бесплатный программный продукт Google Планета Земля.
- хозяйствующие субъекты и их работники вправе использовать сервис Google Планета Земля в том числе в своей коммерческой деятельности, но только для внутренних целей.
Что касается буквального толкования термина business entity users, то мы полагаем, что государственные и муниципальные служащие могут вполне законно пользоваться сервисом как физические лица, и в этом случае проблема использования сервиса в государственных структурах снимается.
Что касается термина «внутреннее пользование», то оно является ключевым для понимания возможностей применения сервиса. В законодательстве штата Калифорнии, США не содержится четкой дефиниции понятия software for internal use, однако практически сложилось, что под внутренним использованием подразумевается использование конечным пользователем или его работниками программного продукта без передачи его третьим лицам.
Передача программного продукта третьим лицам подразумевает физическое перемещение продукта посредством материального носителя либо сети связи. Таким образом, неправомерным будет любое иное использование сервиса, кроме как в рамках своей организации либо для демонстрационных целей (показ) при условии сохранения авторских прав Google.
Помимо того, что программный продукт Google Earth является частью линейки Google, вопрос усложняется тем, что сервис содержит снимки дистанционного зондирования Земли из космоса, которые могут быть использованы в различных "ипостасях". В частности, после обработки в создании карт и планов, схем населенных пунктов, при контроле за объектами недвижимости и проч. Снимки, полученные с сервиса Google Earth коммерческими организациями, не могут передаваться третьим лицам в неизменном виде, однако могут ли они использоваться в обработанном виде?
Данные дистанционного зондирования Земли из космоса, размещенные на сайте Google Earth, принадлежат к группе, которую статья 7 Закона Российской Федерации от 9 июля 1993 г. № 5351-I «Об авторском праве и смежных правах» (далее – закон об авторском праве, приложение 8) определяет следующим образом:
- географические, геологические и другие карты, планы, эскизы и пластические произведения, относящиеся к географии, топографии и к другим наукам; другие произведения.
Продукты, которые получаются при использовании сервиса Google Earth, мы отнесем к двум категориям, которые разделяются исходя из обычного международно-правового толкования продуктов на основе снимков из космоса:
- Продукты, основанные на данных ДЗЗ – это обработанные данные, содержащие такую информацию, как данные баллистической модели, радиометрические поправки, ортофотокоррекцию, прочие изменения. Однако продукты все еще содержат структуру исходных Данных, полученных со спутников.
- Производные продукты - продукты, которые включают существенное добавление другой информации, то есть вручную или цифровым образом измененные снимки, полученные с сервиса Google Earth таким образом, что структура первичных данных в них не сохранена.
Международная практика заключения лицензионных соглашений исходит из того, что основанные на данных продукты не могут распространятся третьим лицам без письменного согласования с сервисом Google Earth, однако производные продукты могут быть использованы, в том числе в коммерческой деятельности.
Вопрос о сохранении структуры первичных данных очень тонкий, однако упрощенно он может быть решен следующим образом: в случае, если однозначно определить исходный материал для создания производного продукта невозможно, то это производный продукт.
Целесообразно рассмотреть также продукты Google Планета Земля Плюс и Google Планета Земля Про. На портале Google Earth они названы доступными для коммерческого использования и использования госструктурами.
На сайте наглядно продемонстрированы некоторые из отраслей использования этого продукта : Коммерческая недвижимость, Архитектура и проектирование, Страхование, Федеральные и неправительственные организации, Государственные и местные органы и прочее.
Однако текст лицензии Google Планета Земли Плюс и Google Планета Земля Про практически не отличается от рассмотренной нами лицензии на бесплатную версию. Таким образом, правовая ситуация по использованию данных сервисов идентична рассмотренной выше.
Таким образом, сервис Google Earth может быть использован коммерческими организациями для внутренних целей, в том числе для получения собственных производных продуктов, которые, в свою очередь, могут быть реализованы на коммерческой основе.
Ключ API передается как параметр key в URL, который используется для загрузки Maps JavaScript API. Существует несколько способов проверить, используете ли вы ключ API:
Для веб-разработчиков:
- Если у вас есть доступ к коду приложения, найдите тег <script> , который используется для загрузки Maps JavaScript API. При загрузке Maps JavaScript API замените YOUR_API_KEY в указанном ниже коде ключом API.
- Проверьте в браузере сетевой трафик от вашего сайта. В Chrome это можно сделать с помощью вкладки Network (Сеть) в инструментах разработчика. Вы увидите сетевые запросы от вашего сайта. Запросы, сделанные с использованием Maps JavaScript API, будут указаны в пути maps/api/js . Здесь вы можете убедиться, что в запросах используется параметр key . Рекомендуем отфильтровать сетевой трафик на вкладке Network по maps/api/js .
Нет, я не использую ключ API.
Чтобы получить ключ API, нажмите кнопку ниже. Если не запустится пошаговая настройка, выполните инструкции из руководства по началу работы с платформой Google Карт.
Начать работу
Да, я использую ключ API.
Отлично! Проверьте, привязан ли к вашему проекту платежный аккаунт.
Привязан ли к вашему проекту платежный аккаунт?
Не знаю. Как проверить, привязан ли к моему проекту платежный аккаунт?
Откройте страницу оплаты в Google Cloud Console и выберите проект, в котором был создан ключ API. Чтобы подтвердить, что этот ключ связан с проектом, сделайте следующее:
- Перейдите в раздел Credentials (Учетные данные), выбрав на левой боковой панели Google Maps Platform > Credentials (Платформа Google Карт > Учетные данные).
- Проверьте, есть ли в списке ключ API, который вы используете в настоящее время на своем сайте. Если его здесь нет, перейдите в другой проект и проверьте учетные данные там.
- Если вы не можете найти проект для этого ключа, возможно, вы потеряли доступ к этому проекту. Попросите коллег о помощи. Если не получается найти исходный проект, можно сделать следующее:
- Создайте новый проект, нажав кнопку Создать проект в списке проектов или на странице "Менеджер ресурсов".
- Создайте новый ключ API. Это можно сделать на странице Учетные данные. После этого нажмите Создать учетные данные и выберите Ключ API.
После того как вы найдете свой проект в Cloud Console, проверьте, привязан ли к нему платежный аккаунт, в разделе Оплата в боковом меню слева.
Нет, к моему проекту не привязан платежный аккаунт.
Откройте страницу включения оплаты в Cloud Console и добавьте к проекту платежный аккаунт. Дополнительные сведения можно найти в руководстве по началу работы с платформой Google Карт.
Да, к моему проекту привязан платежный аккаунт.
Отлично! Убедитесь, что вы указали действующий способ оплаты.
Возможно, указанный способ оплаты больше не действует (например, истек срок действия кредитной карты)?
Не превышен ли установленный вами дневной лимит на использование API?
Если вы установили для любого из ваших API дневной лимит, предотвращающий неожиданный перерасход, вы можете решить проблему, увеличив этот лимит.
Проверить дневные лимиты можно на панели API и сервисы в Cloud Console. Сделайте следующее:
- Если появится запрос, выберите проект.
- Выберите API из списка и откройте вкладку Квоты.
Есть ли у вашего ключа API ограничение по IP-адресам?
- В запросе отсутствует ключ API.
- Предоставленный ключ API недействителен.
- К проекту не привязан платежный аккаунт.
- Превышено заданное ограничение на использование.
- Указанный способ оплаты больше не действует (например, истек срок действия кредитной карты).
- Вы превысили лимиты на количество запросов в секунду для определенного API.
Для использования продуктов платформы Google Карт у вас должен быть платежный аккаунт, а все запросы должны содержать действующий ключ API. Чтобы решить проблему, сделайте следующее:
Эта ошибка может быть вызвана следующими сценариями:
Просмотр и изменение учетных данных ключа API
Чтобы посмотреть свои ключи API и изменить какие-либо ограничения, выполните следующие действия:
- Откройте страницу Учетные данные в Cloud Console.
- Выберите проект с нужным ключом API.
- Чтобы посмотреть сведения об учетных данных, включая ограничения, заданные для ключа, в списке ключей API нажмите на название ключа.
- Отобразятся полные учетные данные выбранного ключа API, в том числе установленные ограничения. Здесь при необходимости можно удалять или изменять эти ограничения.
Сервисы платформы Google Карт
Мне нужно преобразовать адреса в координаты (широту и долготу). Можно ли это сделать с помощью платформы Google Карт?Да, этот процесс называется геокодированием. В Maps JavaScript API предусмотрен отдельный класс для выполнения геокодирования: google.maps.Geocoder.
Вы также можете воспользоваться Geocoding API от Google, который предоставляет интерфейс REST с поддержкой форматов JSON и XML.
В каких странах доступно геокодирование?
Чтобы узнать, в каких странах поддерживаются геокодеры платформы Google Карт, изучите данные о покрытии Google Карт.
Точность геокодирования различается в разных странах, и ее можно определить с помощью параметра location_type, содержащегося в ответе на запрос. Обратите внимание, что доступ к данным геокодирования зависит от наших соглашений с поставщиками данных, которые могут измениться.
Почему геокодеры платформы Google Карт и Google Карты сообщают разное местоположение?
В некоторых странах сервисы геокодирования API и веб-сервиса Google Карт используют различные базы данных. Данные геокодера API время от времени обновляются, поэтому точность результатов может повышаться.
Как оформлять запросы к геокодеру, чтобы повысить вероятность их успешной обработки?
Геокодер выполняет сопоставление адресов улиц с географическими координатами. Чтобы максимально повысить шансы успешной обработки запросов, оформляйте их согласно следующим рекомендациям:
Для правильной работы геокодера платформы Google Карт нумерованные магистрали США необходимо указывать в следующих форматах:
- Дороги местного значения: "Co Road NNN" , где NNN – это номер дороги. Пример: "Co Road 82"
- Дороги штата: "State NNN" , где State – это полное название штата, а NNN – номер автомагистрали. Пример: "California 82"
- Автомагистрали США: "U.S. NNN" , где NNN – номер автомагистрали. Пример: "U.S. 101"
- Дороги между штатами: "Interstate NNN" , где NNN – это номер дороги. Пример: "Interstate 280"
В документе о методах геокодирования подробно рассмотрены преимущества и недостатки каждого из них.
Как правильно предоставлять схему проезда с использованием платформы Google Карт?
Directions API позволяет предоставлять схему проезда для маршрутов с одним или несколькими отрезками. Вы можете выбирать для схемы проезда режим передвижения (например, на автомобиле), один или несколько маршрутов и ограничения (например, без платных дорог). Этот сервис доступен в следующих интерфейсах:
Чтобы узнать, в каких странах поддерживаются схемы проезда в продуктах платформы Google Карт, изучите данные о покрытии Google Карт. Обратите внимание, что доступность схем проезда зависит от наших соглашений с поставщиками данных, которые могут измениться.
В каких странах доступны маршруты на общественном транспорте?
Сервис маршрутов Google Карт, который включает Directions API и Distance Matrix API, поддерживает всех поставщиков услуг общественного транспорта из списка покрытия общественного транспорта, за исключением Японии.
Какие функции KML и GeoRSS поддерживаются в Maps JavaScript API?
Класс KmlLayer в Maps JavaScript API позволяет разработчикам накладывать файлы KML/KMZ и GeoRSS поверх карты. Документацию и примеры можно найти здесь.
Каковы ограничения на размер и сложность объектов KML, которые можно загружать с помощью класса KmlLayer в Maps JavaScript API?
Ограничения на размер и сложность объектов KML, отображаемых с помощью класса KmlLayer , приведены здесь.
Как прорисовать на карте файлы KML, хранящиеся на внутренних сайтах?
Класс KmlLayer , создающий наложения KML в Maps JavaScript API, использует размещенный в Google сервис для получения и синтаксического анализа файлов KML для прорисовки. Поэтому файлы KML, которые не хранятся по общедоступному URL или требуют аутентификации для доступа, отобразить невозможно.
Если вы разрабатываете приложения, использующие файлы KML на внутренних сайтах, мы рекомендуем выполнять прорисовку KML на стороне клиента, используя библиотеки JavaScript сторонних разработчиков. Поскольку файл KML будет анализироваться браузером, скорость обработки может быть ниже, чем при использовании класса KmlLayer .
Какое максимальное количество маркеров или вершин пути поддерживается в Maps Static API?
В Maps Static API нет ограничений на максимальное число маркеров и вершин. При использовании пользовательских значков в одном запросе можно указать до пяти уникальных значков, однако каждый из них может использоваться в карте множество раз.
Обратите внимание, что максимальная длина URL в Maps Static API составляет приблизительно 8192 символа, поэтому в запросе может содержаться ограниченное число точек маршрута в зависимости от того, сколько знаков после запятой указывается для каждой пары значений широты и долготы. Подробная информация о том, как количество знаков после запятой в географических координатах влияет на точность позиционирования, приведена в статье Википедии Decimal Degrees (на английском языке).
Почему в некоторых странах возникает проблема с доступом к продуктам платформы Google Карт?
Maps API нельзя использовать на запрещенных территориях. Подробная информация приведена в Условиях использования.
- неправильный адрес или неточное расположение маркера;
- неправильное название дороги;
- неверная информация об одностороннем или двустороннем движении;
- неверное расположение дороги;
- дорога закрыта;
- дорога не существует.
Вы также можете изменить данные о месте или компании.
Если какой-то контент Карт нарушает действующие законы и его следует удалить, отправьте официальный запрос.
По критическим или срочным вопросам направляйте запрос в службу поддержки с указанием подробной информации о том, что нужно сделать.
Как отслеживать эффективность сервисов, для работы которых используется Maps JavaScript API?
В некоторых клиентских функциях есть инструменты, которые сообщают об успехе или неудаче. Это необходимо для расчета SLO (целевого показателя уровня обслуживания). С помощью соответствующих запросов в Google по адресу maps.googleapis.com/maps_api_js_slo/log отправляется следующая информация: статус успешного выполнения, время реакции и версия/канал Maps JavaScript API. Для повышения эффективности вызовы могут быть объединены. Обратите внимание, что вам может потребоваться разрешить maps.googleapis.com в Content Security Policy, чтобы эти вызовы не блокировались на уровне браузера. Примеры: Content-Security-Policy: default-src 'self' maps.googleapis.com; для HTTP-заголовков и <meta http-equiv="Content-Security-Policy" content="default-src 'self' maps.googleapis.com;"> для метатегов HTML.
Google Maps SDK для iOS
Чтобы устранить проблему, откройте настройки сборки для проекта Xcode и добавьте arm64 в Excluded Architectures только для сборок "Симулятор iOS".
Дополнительную информацию можно найти в этом обсуждении на StackOverflow.
Как устранить ошибку с кодом kGMSPlacesRateLimitExceeded ? Если вы видите эту ошибку, возможно, вы используете версию Places SDK для iOS, поддержка которой прекращена. Версия 2.7.0 Places SDK для iOS отключена и более не доступна. Как можно скорее обновите свое приложение, чтобы перейти на последнюю версию. Подробную информацию об этом вы найдете в руководстве по переходу. Попытки отладки с использованием устройства iOS 8.x завершаются ошибками. Что делать?
Если при отладке с использованием устройств iOS 8.x возникают ошибки, выполните приведенные ниже действия, чтобы отключить захват кадров графического процессора в схеме Xcode, которую вы используете.
- В Xcode выберите Product (Продукт), Scheme (Схема), Manage Schemes (Управление схемами).
- Выберите схему и нажмите Edit…(Редактирование).
- Установите для параметра GPU Frame Capture (Захват кадров графического процессора) значение Disabled (Отключено). Обратите внимание, что этот параметр может быть указан не для всех устройств.
Начиная с модели iPhone X устройства iPhone выпускаются в новой форме с закругленными углами, выемкой в верхней части для датчика и индикатором кнопки перехода на главный экран в нижней части. В SDK для iOS 11.0 специалисты Apple добавили Safe Area API, позволяющий разработчикам размещать элементы в области, которая не будет обрезаться новой формой экрана.
В версии 2.5 Google Maps SDK для iOS эти проблемы решаются автоматически. Если вы используете приложение на iPhone X или более поздней версии, поля GMSMapView и GMSPanoramaView увеличиваются так, чтобы визуальные элементы не обрезались.
По умолчанию мы всегда будем включать эти поля. В Google Maps SDK для iOS предполагается, что эти поля предназначены для обеспечения безопасной зоны. Если вы размещаете все элементы своего интерфейса в безопасной зоне, от вас не потребуется дополнительных действий.
Если вы разработали интерфейс, который не работает с нашими параметрами корректировки по умолчанию, воспользуйтесь новым свойством GMSMapView под названием paddingAdjustmentBehavior. Теперь в GMSMapView можно выбрать один из вариантов корректировки полей: Always (Всегда) (выбрано по умолчанию), Automatic (Автоматически) или Never (Никогда).
Если в GMSMapView для корректировки полей установлено значение Always (Всегда), то к полям всегда будет добавляться отступ безопасной зоны. Это позволит вам разрабатывать собственный интерфейс с уверенностью в том, что все элементы будут находиться в безопасной зоне. Это значение используется по умолчанию.
Если в GMSMapView настроена автоматическая корректировка полей, то система будет выбирать максимальное значение полей или отступа безопасной зоны. Так вы сможете добавлять поля по краю экрана, и при этом элементы всегда будут оставаться в безопасной зоне.
Если в GMSMapView для корректировки полей установлено значение Never (Никогда), к полям не будет добавляться отступ безопасной зоны. Такое поведение использовалось до выхода версии 2.5, и это подходящий вариант в тех случаях, когда поля заданы с учетом безопасной зоны или другие варианты плохо сочетаются с вашим интерфейсом. Вы ответственны за то, чтобы логотип Google и информация об авторских правах всегда были видны, как описано в Условиях использования платформы Google Карт.
В GMSPanoramaView, напротив, нет дополнительного свойства для корректировки полей. Это значит, что поля не корректируются, а GMSPanoramaView всегда применяет необходимые отступы, чтобы все визуальные элементы находились в безопасной зоне.
Google Maps SDK для Android
Как устранить ошибку с кодом 9005 PLACES_API_RATE_LIMIT_EXCEEDED ? Если вы видите эту ошибку, возможно, вы используете версию Places SDK для Android, поддержка которой прекращена. Версия Places SDK для Android для сервисов Google Play отключена и более не доступна. Как можно скорее обновите свое приложение, чтобы перейти на последнюю версию. Подробную информацию об этом вы найдете в руководстве по переходу.Подпись URL
Мы настоятельно не рекомендуем использовать JavaScript для подписи URL, поскольку в этом случае конечные пользователи могут получить доступ к вашему секрету для подписания URL. Подписи должны генерироваться только серверными компонентами.
Почему я получаю ответ "HTTP 403 Forbidden" на мои запросы веб-сервиса Maps API?
Ошибка "HTTP 403" означает проблемы с разрешениями доступа, вероятно вызванные тем, что невозможно подтвердить подпись для запроса. Возможные причины:
- Подпись указана, но является некорректной для этого запроса.
- В запросе указан ключ API для плана Premium платформы Google Карт, но не указана подпись, а вызываемый сервис требует, чтобы запросы, отправляемые с использованием ключа API, содержали действительную подпись.
- Подпись указана, но не указан связанный с ней ключ API для плана Premium платформы Google Карт.
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Сейчас я занимаюсь подготовкой к разработке приложения под iOS. В приложении будет активно использоваться карта местности.
Хочу задать несколько вопросов тем, кто на практике использует в своих приложениях различные карты:
- Каких поставщиков карты лучше использовать?
- Стоит ли работать с open-source картами?
- Каковы условия использования карт, с которыми вы работаете?
Отвечает Иван Чумак, основатель мобильного приложения гиперлокальных новостей Meanwhile
Как обычно, очень многое зависит от конкретных пользовательских кейсов — для чего именно вам нужны карты, и, самое главное, какая предполагается география использования вашего приложения.
Это будет Россия или, например, США? Если Россия, то планируете вы покрыть только Москву и Петербург, или же фокус будет лежать на небольших городах, или даже сёлах и ПГТ? Если вы планируете запускать ваше приложение в мелких городах России, то тут бесспорный лидер — «Яндекс.Карты». Там, где у Google Maps просто серые пятна и невнятные линии, у «Яндекс.Карт» подписанные улицы и подъезды. Если вы планируете стартовать в крупных городах, то стоит всё-таки использовать Google Maps по той простой причине, что у многих пользователей они уже стоят, а значит, процесс загрузки вашего приложения будет происходить быстрее.
Кроме того, на Android (а рано или поздно вы начнете делать приложение и для Android) Google Maps стоят уже по умолчанию. Это нативные («родные») карты, которые идеально заточены под Android — это позволит вашим пользователям загружать все быстрее, а ваши разработчики потратят меньше времени на интеграцию. C iOS Google Maps также замечательно работают. И, как мне кажется, они очень красивые, изящные, легко настраиваются, не перегружены никакой лишней информацией и просто удобны.
Конечно же, плох тот стартапер, который не мечтает покорить мир. С выходом на запад использование «Яндекс.Карт» станет весьма неудобным из-за очень плохого покрытия. Так что имеет смысл изначально брать именно Google Maps.
В 90% случаев этот выбор себя оправдает С ценами и лицензиями на Google Maps можно ознакомиться на их же портале. Пока вы не достигли размеров «Вконтакте» — всё бесплатно.
Почему не стоит использовать open-source проекты? Именно из-за их открытости. Они хоть и бесплатные, но у вас никогда не будет гарантии, что эти карты будут совместимы с последними (или устаревшими) версиями мобильных ОС, что информация на них будет объективна и верна, что они в принципе поддерживают и адаптированы под мобильное использование.
Коммерческие карты изначально более проработаны и более удобны для разработчиков. У крупных корпораций есть деньги на самых лучших дизайнеров, топографов, разработчиков. В итоге, вы получаете продукт, который по всем параметрам превосходит любительский, пусть и сделанный от чистого сердца.
Это как коммунизм — идея неплохая, но на практике не очень срабатывает.
Чтобы задать свой вопрос читателям или экспертам, заполните форму заявки на странице.
К сожалению, спутниковых снимков многих сибирских городов на Яндекс.Картах пока нет. Поэтому мне пришла в голову идея использовать снимки из карт Google.
API Яндекс.Карт позволяет использовать сторонние тайлы через YMaps.TileDataSource:
Переключение между картами заработало, но тут меня ждало разочарование - тайлы не совпадают.
Возможно, тут поможет смещение тайлов, но я не разобрался как это сделать.
Может, у кого-нибудь из участников клуба стояла подобная задача? Или выбранный мною путь неверен?
Thekashey вывел формулу для смещения тайлов, но как тайлы смещать непонятно.Насколько я понял, условия предоставления карт Google запрещают использовать тайлы без их API. А использование двух API будет нехило тормозить клиентские компы.
К тому же, я пробовал заменить Яндекс.Карты на Google Maps. В итоге точки, поставленные в Яндекс.Картах, всё равно получаются смещёнными на Google Maps (примерно на метров 30).
Получается, что это как бы, недокументированная функция?
Ок понятно.
СпасибоА смещение - постоянная константа для всей карты или зависит от области?
P.S. Делаю сайт с поддержкой G И Я API. Поэтому хотелось бы знать, так как сам уже с этим сталкивался, но пока не разбирался основательно.
Так как тайлы не совпадают по-разному в зависимости от координаты, и несовпадение не на целый тайл, а на дробное число, то все, что тут можно сделать – это проксировать гугловские тайлы через свой сервер, который будет брать на гугле два тайла и делать из него один.
Несовпадение там только по Y.
Либо, МОЖЕТ БЫТЬ, можно как-то хакнуть API самого Яндекса, чтобы эта поправка учитывалась на клиенте, но это еще более кривой способ.Хотя, если вы например, под "своим" городом имеете ввиду г. Волжский Волгоградской области, то в спутниковых картах там действительно смещены не только тайлы по вертикали (что правильно, и смещены они-таки только по вертикали), но и геопривязка самих карт несколько отличается – карта гугла смещена на 23 метра на северо-запад от карты Яндекса – например, угол одного из зданий абразивного завода по версии гугла находится на 48°48‘49,3685‘‘N 44°46‘07,7535‘‘E, а по версии Яндекса та же точка – 48°48‘48,9155‘‘N 44°46‘048,9155‘‘E.
При этом у VirtualEarth третье мнение (но ближе к Яндексу).Но это уже другой совершенно вопрос, тут перерасчетами не поможешь, так как эта поправка должна быть своя для каждого города.
Читайте также: