|
|
|
Как правильно подключать Яндекс-Карты и Гугл-Карты?
|
|||
|---|---|---|---|
|
#18+
Мне нужно на одной странице использовать обе карты. По отдельности все работает, вместе не получается. В конце страницы указываю так: Код: javascript 1. 2. 3. 4. В скрипте maps.js указан необходимый код, а также инициализация (в функции initMap инициализируются обе карты). Для Яндекс-Карт используется такой код: Код: javascript 1. Для Гугл-Карт достаточно указанного в параметрах callback=initMap. Пробовал сделать так: Код: javascript 1. 2. 3. Но так не работают Яндекс-Карты, на момент события ready скрипт еще не загружен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2018, 14:54 |
|
||
|
Как правильно подключать Яндекс-Карты и Гугл-Карты?
|
|||
|---|---|---|---|
|
#18+
Код: javascript 1. 2. 3. 4. Неподелитесь мануалом по яндекс картам? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2018, 14:58 |
|
||
|
Как правильно подключать Яндекс-Карты и Гугл-Карты?
|
|||
|---|---|---|---|
|
#18+
Alibek B., https://tech.yandex.ru/maps/jsapi/ https://developers.google.com/maps/documentation/javascript/?hl=ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2018, 14:59 |
|
||
|
Как правильно подключать Яндекс-Карты и Гугл-Карты?
|
|||
|---|---|---|---|
|
#18+
Alibek B., Для того, чтобы этого избежать. Напишите код создания карт в одном обработчике. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2018, 15:02 |
|
||
|
Как правильно подключать Яндекс-Карты и Гугл-Карты?
|
|||
|---|---|---|---|
|
#18+
А когда именно это нужно делать? Функция initMap как раз и является таким обработчиком, в котором инициализируются обе карты. Если initMap вызывать по событию ready, то Яндекс-Карты не работают — видимо к моменту построения DOM скрипты еще не инициализированы. А если вызывать ymaps.ready(initMap), то карты Яндекс работают, но не работают карты Google, видимо из-за асинхронной загрузки скриптов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2018, 15:22 |
|
||
|
Как правильно подключать Яндекс-Карты и Гугл-Карты?
|
|||
|---|---|---|---|
|
#18+
Areostar, Спасибо за ссылки! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2018, 15:24 |
|
||
|
Как правильно подключать Яндекс-Карты и Гугл-Карты?
|
|||
|---|---|---|---|
|
#18+
Вначале у меня был один контейнер для всех карт, в скрипте я при переключении карт его очищал и заново инициализировал. Но в таком способе оказалось несколько затруднений. Поэтому я сделал отдельные контейнеры для каждой карты и переключаю их видимость скриптом: Код: html 1. 2. Так же я убрал асинхронную загрузку: Код: html 1. 2. 3. 4. Файл maps.js выглядит так (все лишнее убрал): Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. В таком варианты Яндекс-Карты работают нормально — успешно инициализируются и работает построение маршрута. Но как только я убираю заглушку-return из функции initMapGoogle, как получаю ошибку jQuery.Deferred exception. Если поменять порядок подключения скриптов (вначале maps.js, затем Карту Google) и добавить в подключаемый скрипт Гугл-Карт параметр callback=initMap, то получаю другую ошибку: Uncaught TypeError: this.setValues is not a function. Не подскажите, как сделать правильно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2018, 16:37 |
|
||
|
Как правильно подключать Яндекс-Карты и Гугл-Карты?
|
|||
|---|---|---|---|
|
#18+
Alibek B., я думаю у вас где-то дублируются переменные типа map или иное. проблем быть не должно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2018, 16:43 |
|
||
|
Как правильно подключать Яндекс-Карты и Гугл-Карты?
|
|||
|---|---|---|---|
|
#18+
Да, maps используется где-то в коде гугловских карт. Переименовал maps в maplist, также добавил new при создании карты (new google.maps.Map). И еще убрал опцию map для маркера. Теперь ошибок в консоли нет, но на карте отсутствует изображение, есть только серый фон и логотип Google. Из-за чего такое может быть? В настройках ключа API я указывал адрес сайта, на котором эти карты используются. И на всякий случай я вообще убрал эти ограничения, но не помогло. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2018, 17:07 |
|
||
|
Как правильно подключать Яндекс-Карты и Гугл-Карты?
|
|||
|---|---|---|---|
|
#18+
Как-то себя странно Гугл-Карты ведут. На мобильном устройстве карта рисуется, правда долго. А десктопе вместо карты серый экран. Но как только включаю панель разработчика, на карте прорисовывается изображение. Правда позиция не такая, какую я указываю в скрипте инициализации, но недалеко от этого места. Когда я делал встраиваемую карту, проблем не было. На JS я перешел для того, чтобы ускорить отрисовку маршрута при смене пункта отправления (при использовании встраиваемой карты iframe загружался заново), но что-то вообще не работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2018, 17:28 |
|
||
|
Как правильно подключать Яндекс-Карты и Гугл-Карты?
|
|||
|---|---|---|---|
|
#18+
Alibek B., может кешируется криво. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2018, 17:36 |
|
||
|
Как правильно подключать Яндекс-Карты и Гугл-Карты?
|
|||
|---|---|---|---|
|
#18+
Есть такой список: Код: javascript 1. 2. 3. 4. На основании этого списка добавляю на карту выпадающих список: Код: javascript 1. 2. 3. 4. 5. 6. Но почему-то в obj оказывается скаляр (значение), а не объект. Хотя такой код работает нормально: Код: javascript 1. 2. 3. 4. Как нужно правильно использовать ymaps.control.ListBoxItem ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2018, 20:36 |
|
||
|
Как правильно подключать Яндекс-Карты и Гугл-Карты?
|
|||
|---|---|---|---|
|
#18+
С Яндексом разобрался. С Гуглом частично, нужно было добавить триггер на resize ( https://stackoverflow.com/questions/42222130/google-maps-shows-gray-screen-instead-of-map). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2018, 23:50 |
|
||
|
Как правильно подключать Яндекс-Карты и Гугл-Карты?
|
|||
|---|---|---|---|
|
#18+
Триггер на resize частично помогает, но не всегда. Карты Google глючат, если контейнер в момент инициализации еще не был виден. При переключении карт помогает повторная инициализация с небольшой задержкой (400 мс). Но при загрузке страницы этого недостаточно, потому что карта находится на скрываемой закладке и к моменту загрузки страницы контейнер не виден. Подскажите, как отловить событие, когда DIV становится видимым? Я нашел пример с IntersectionObserver, но это на многих браузерах не работает. Нужно какое-то универсальное решение, которое будет учитывать в том числе и то, что родительский контейнер DIV с картой тоже может быть скрытым. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2018, 00:43 |
|
||
|
Как правильно подключать Яндекс-Карты и Гугл-Карты?
|
|||
|---|---|---|---|
|
#18+
Судя по всему, определение момента видимости элемента на JS задача нетривиальная. Универсальный способ только в периодическом опросе по таймеру. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2018, 08:40 |
|
||
|
Как правильно подключать Яндекс-Карты и Гугл-Карты?
|
|||
|---|---|---|---|
|
#18+
Сделал так: Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. Насколько вижу, все работает во всех режимах (ресайз на скрытой вкладке, долгая загрузка и т.д.). К тому же загрузка скриптов теперь асинхронная. Буду благодарен за советы по оптимизации и улучшению. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2018, 09:30 |
|
||
|
|

start [/forum/topic.php?fid=22&msg=39585891&tid=1444331]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
84ms |
get topic data: |
17ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
2ms |
| others: | 14ms |
| total: | 201ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...