Форум программистов, компьютерный форум, киберфорум
JavaScript: API
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/9: Рейтинг темы: голосов - 9, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 16.03.2022
Сообщений: 6
Яндекс Карты API

В чем может быть ошибка? Вместо карты - белый квадрат

12.04.2022, 13:07. Показов 1990. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте! Не понимаю, в чем может быть ошибка. Скрипт выводит значение координат из пункта списка (широта, долгота). Массив подставляется в центр карты. Все должно работать, но нет - пустой белый квадрат вместо карты.

Вот пример страницы: https://cvetoch.ru/properties/dom-315-kv-m-8-sot/

Код контейнера:
HTML5
1
2
3
<body>
<div id="map" style="width: 100%; height: 350px;"></div>
</body>
Код карты (расположен в футере)
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<script type="text/javascript">
    window.onload = function() {
        var listInnerText = document.querySelector('.mh-estate__list__inner').innerText; 
        var localizationMatch = listInnerText.match(/Локализация: [\d\.]+,[\d\.]+/); 
        var coordinatesArray = []; 
        
        if (localizationMatch !== null && localizationMatch > 0) { 
            stringCoordinatesArray = localizationMatch[0].split(': ')[1].split(',');
            coordinatesArray = stringCoordinatesArray.map(item => parseFloat(item));
 
            ymaps.ready(init); 
        
            function init() { 
                var myMap = new ymaps.Map("map", { 
                    center: coordinatesArray,
                    zoom: 7 
                });    
            }
        }
    };
</script>
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
12.04.2022, 13:07
Ответы с готовыми решениями:

Вместо отображения спрайта выводится белый квадрат в окне: в чём ошибка?
В чем может быть ошибка? Вместо отображения спрайта выводиться белый квадрат в окне. #include &lt;SFML\Graphics.hpp&gt; class...

В чем может быть ошибка? Почему отображается пустая страница, вместо данных?
В чем может быть ошибка? Почему отображается пустая страница, вместо данных? И может кто подскажет как сделать это все покороче? :) ...

На форме в textBox вместо текста отображается "T r u e". В чем может быть ошибка?
Вот кусочек кода: char line3; FILE *stream2; stream2 = fopen(&quot;C:\\file.txt&quot;, &quot;r&quot;); fseek (stream2, 4L ,SEEK_SET); fgets...

4
 Аватар для evikza
968 / 530 / 244
Регистрация: 20.05.2015
Сообщений: 776
12.04.2022, 22:09
Лучший ответ Сообщение было отмечено consweb как решение

Решение

consweb, здравствуйте. У вас была очень странная проверка. Она всегда выпадала в неудачу и карта не инициализировалась.

Тогда, нужно было считать количество элементов в localizationMatch. Это же массив. В вашем случае, да — localizationMatch был НЕ равен null, но из-за проверки оператором && (И), он не мог быть больше 0.

JavaScript
1
2
3
4
5
if (localizationMatch !== null && localizationMatch > 0) {}
// →
if (localizationMatch) {}
// или …
if (localizationMatch.length > 0) {}

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
window.onload = function () {
  var listInnerText = document.querySelector(
    '.mh-estate__list__inner'
  ).innerText;
  var localizationMatch = listInnerText.match(/Локализация: [\d\.]+,[\d\.]+/);
  var coordinatesArray = [];
  // ...
  if (localizationMatch) {
    stringCoordinatesArray = localizationMatch[0].split(': ')[1].split(',');
    coordinatesArray = stringCoordinatesArray.map((item) => parseFloat(item));
    ymaps.ready(init);
 
    function init() {
      var myMap = new ymaps.Map('map', {
        center: coordinatesArray,
        zoom: 7,
      });
    }
  }
};
И да, регулярное выражение можно упростить (5 строка) и приводить координаты в число с плавающей точкой нет нужды. (10 строка).
1
0 / 0 / 0
Регистрация: 16.03.2022
Сообщений: 6
12.04.2022, 22:45  [ТС]
evikza, добрый вечер! У меня почему-то было чувство, что именно Вы ответите на мой вопрос Просто недавно смотрел пример, где Вы помогли несколько лет назад человеку, когда ему нужно было достать координаты со страницы

А теперь о моей проблеме. Как бы это сказать... Вы все расставили по полочкам и по логике, но не для меня: в программировании я ребенок, а код написал другой человек.

Я вроде как кое-что понял из того, что Вы мне написали, но мне еще учиться и учиться, чтобы исправить так, как Вы сказали.

В любом случае огромное спасибо!

Добавлено через 23 минуты
И, увы... Скопировал Ваш код - все равно белый фон вместо карты...
0
 Аватар для evikza
968 / 530 / 244
Регистрация: 20.05.2015
Сообщений: 776
12.04.2022, 23:24
Лучший ответ Сообщение было отмечено consweb как решение

Решение

consweb, хорошо, давайте не будем ожидать полнейшей загрузки страницы со всеми стилями, картинками и скриптами со сторонних ресурсов. Из-за обилия всего — этого может и не произойти.

Как вариант, удалите этот код и вставьте в конец документа перед закрывающимся тегом </body>.

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<script type="text/javascript">
  var listInnerText = document.querySelector(
    '.mh-estate__list__inner'
  ).innerText;
  var localizationMatch = listInnerText.match(/Локализация: [\d\.]+,[\d\.]+/);
  var coordinatesArray = [];
 
  if (localizationMatch) {
    stringCoordinatesArray = localizationMatch[0].split(': ')[1].split(',');
    coordinatesArray = stringCoordinatesArray.map((item) => parseFloat(item));
    ymaps.ready(init);
 
    function init() {
      var myMap = new ymaps.Map('map', {
        center: coordinatesArray,
        zoom: 7,
      });
    }
  }
</script>
Проверил локально, всё работает.
1
0 / 0 / 0
Регистрация: 16.03.2022
Сообщений: 6
12.04.2022, 23:35  [ТС]
Храни Вас Господь! Низкий Вам поклон - 3 дня я мучался с картами, а Вы помогли все решить! Спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
12.04.2022, 23:35
Помогаю со студенческими работами здесь

Вместо русских букв выводит чёрные ромбы со знаком ? в чём может быть дело?
Вместо русских букв выводит чёрные ромб с ? в чём дело? Задание:поменять все заглавные на строчные и наоборот. namespace...

В чем может быть ошибка
В чем может быть ошибка

В чём может быть ошибка?
Описать функцию Power4(x,a,ξ) вещественного типа (параметры х, а, ξ - вещественные, |х|&gt;1; a,ξ &gt; 0), находящую приближенное ...

в чем может быть ошибка?
в чем может быть ошибка? data segment y db 0 data ends st segment stack ‘stack’ db 128 dup(?) st ends assume cs: code,...

В чем может быть ошибка?
function megaDate($timestamp) { global $tpl, $server_time; $diff = time() - $timestamp; $hours = floor($diff/3600); ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru