Имя: Пароль:
1C
1С v8
Просмотр OpenStreetMaps с использованием Open Layers 4
0 MadProger
 
16.02.18
08:14
Доброго дня!

Пытаюсь запустить простой скрипт для отображения OpenStreetMaps с использованием библиотек OpenLayers v4.
Скрипт показа OpenStreetMaps

Текст скрипта присваиваю в реквизит поля HTML.
Событие "ДокументСформирован" отрабатывает 2 раза. Функция mapUploaded() из скрипта становится доступной, но карты не отображаются и выводится только alert с информацией о userAgent.

С картами Google и Yandex по той же логике всё сработало. Платформа 8.3.10, запускаю в тонком клиенте, формы управляемые.
Прошу помощи, куда копать, чтобы взлетело?

Скрипт:

<!DOCTYPE html>
<html lang=en xmlns="http://www.w3.org/1999/xhtml"; xml:lang="en">                                                        
   <head>
    <meta http-equiv="X-UA-Compatible" content="IE=10" >
    <meta http-equiv="content-type" content="text/html; charset=utf-8">    

    <title>OSM maps API</title>
    <style>
        html,body{
            padding: 0px;
            margin: 0px;
            height: 100%;
            width: 100%;
            height: 100%;            
            overflow: hidden;
        }
        
        #map_canvas {            
            width: 100%;
            height: 100%;
            float: left;
        }
        
    </style>

    <script>    
        var myMap;
        
        function initMap() {
        
alert("Инициализация карты!");
            latCenter = 55.753215; // Москва
            lonCenter = 37.622504;
            
            myMap = new ol.Map({
                layers: [
                  new ol.layer.Tile({
                    source: new ol.source.OSM()
                  })],
                target: 'map_canvas',
                controls: ol.control.defaults({
                  attributionOptions: {
                    collapsible: false
                  }
                }),
                view: new ol.View({
                  center: ol.proj.fromLonLat([lonCenter,latCenter]),
                  zoom: 13
                })
            });
        }
        
        function mapUploaded() {
            return true;
        }
        
    </script>
  </head>
  <body>
    <div id="map_canvas" > </div>
    <script>alert("userAgent=" + navigator.userAgent);</script>
    <link rel="stylesheet" href="https://openlayers.org/en/v4.6.4/css/ol.css"; type="text/css">
    <!-- The line below is only needed for old environments like Internet Explorer and Android 4.x -->
    <script src="https://cdn.polyfill.io/v2/polyfill.min.js?features=requestAnimationFrame,Element.prototype.classList,URL"></script>;
    <script src="https://openlayers.org/en/v4.6.4/build/ol.js"></script>;
    <script>
          alert("Скрипты загружены!");
          window.onload = function() {
            initMap();
        }
    </script>
  </body>
</html>
1 MadProger
 
16.02.18
08:30
userAgent выдаёт в первом событии "ДокументСформирован"
Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1;
Win64; x64; Trident/7.0; NET CLR 2.0; SLCC2; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0;
.NET4.0C; .NET4.0E; Tablet PC 2.0)

во втором
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1;
Win64; x64; Trident/7.0; NET CLR 2.0; SLCC2; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0;
.NET4.0C; .NET4.0E; Tablet PC 2.0)

Обычный IE 11 показывает всё без проблем.
2 MadProger
 
16.02.18
11:47
Апну, может откликнуться добрые люди, делавшие отображение карт OpenStreet в 1С.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший