Имя: Пароль:
1C
1С v8
Api яндекс карт и 1С
0 ice123
 
15.05.13
19:55
Есть обработка, которая позволяет в 1С построить маршрут с помощью Api яндекс карт. Код HTML, который формирует обработка для маршрута отрабатывается в различных браузерах нормально, без ошибок. Пробовал сохранять, как отдельную страничку HTML.
При попытки снова запустить построение маршрута или при обновлении маршрута вываливается ошибка javascript с предложением продолжить работу на этой странице(по-английски), при закрытии которого маршрут строиться нормально. Закрытие документа и открытие его заново не помогает, только если полностью перезапустить 1С.
Как устранить эту ошибку? Что еще и где надо прописать,чтобы в 1С отработало нормально?
HTML код следующий:
"
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<HTML
xmlns="http://www.w3.org/1999/xhtml"><HEAD><TITLE>Карта маршрута.</TITLE>
<META content="text/html; charset=windows-1251" http-equiv=Content-Type>
<SCRIPT type=text/javascript
src="http://api-maps.yandex.ru/1.1/index.xml?key=ANpUFEkBAAAAf7jmJwMAHGZHrcKNDsbEqEVjEUtCmufxQMwAAAAAAAAAAAAvVrubVT4btztbduoIgTLAeFILaQ=="></SCRIPT>
   <script type="text/javascript">
           var map;
   window.onload = function () {
          map = new YMaps.Map(document.getElementById("YMapsID"));
          map.setBounds(new YMaps.GeoBounds(new YMaps.GeoPoint(37.516629, 55.6935), new YMaps.GeoPoint(37.606954, 55.809929)));

           map.enableScrollZoom();
           map.addControl(new YMaps.TypeControl());
           map.addControl(new YMaps.ToolBar());
           map.addControl(new YMaps.Zoom());
           map.addControl(new YMaps.ScaleLine());
          map.addControl(new YMaps.Zoom());

          var objManager = new YMaps.ObjectManager();
          map.addOverlay(objManager);

           // Создание шаблона для значка метки (нумератор)
           var template = new YMaps.Template("<div>\
               <img style=\"height:$[style.iconStyle.size.y];width:$[style.iconStyle.size.x];\" src=\"$[style.iconStyle.href]\"\/>\
               <div class=\"CustomPointName\">$[name|0]</div></div>");

           // Создание стиля для значка метки (нумератор) с использованием шаблона
           var s = new YMaps.Style();
           s.iconStyle = new YMaps.IconStyle(template);
           s.iconStyle.offset = new YMaps.Point(-22, -46);
           s.iconStyle.href = "http://api.yandex.ru/i/maps/icons/blue.png";
           s.iconStyle.size = new YMaps.Point(26, 46);
           s.iconStyle.shadow = new YMaps.IconShadowStyle();
           s.iconStyle.shadow.offset = new YMaps.Point(0, -25);
           s.iconStyle.shadow.href = "http://api.yandex.ru/i/maps/icons/blue-shadow.png";
           s.iconStyle.shadow.size = new YMaps.Point(25, 23);
           YMaps.Styles.add("example#customPoint", s);


   var point = new YMaps.GeoPoint(37.606954,55.809929);
  var placemark = new YMaps.Placemark(point, {style: "example#customPoint"});
  placemark.name = 1;
  placemark.description = '';
  map.addOverlay(placemark);


   var point = new YMaps.GeoPoint(37.5607,55.6935);
  var placemark = new YMaps.Placemark(point, {style: "example#customPoint"});
  placemark.name = 2;
  placemark.description = '';
  map.addOverlay(placemark);


   var point = new YMaps.GeoPoint(37.516629,55.769499);
  var placemark = new YMaps.Placemark(point, {style: "example#customPoint"});
  placemark.name = 3;
  placemark.description = '';
  map.addOverlay(placemark);


   // Прокладывание маршрута
   var router = new YMaps.Router(['37.606954,55.809929','37.5607,55.6935','37.516629,55.769499'], [1], {viewAutoApply: 1});
  map.addOverlay(router);
  YMaps.Events.observe(router, router.Events.Success, function() {
       totalDistance = Math.round(router.getDistance() / 1000);
       alert('Длина маршрута: ' + totalDistance + ' км');
       document.write('<!-- totalDistance=' + totalDistance + '-->');
  });

   }  
   function onunloadpage(){
       map.destructor();
}
   </script>

<STYLE type=text/css>
   .CustomPointDot {
       font-family:Arial,Geneva CY,Sans-Serif;
       font-size:12px;
       font-weight:bold;

       position:absolute;
       left:1px;
       top:3px;

       text-align:center;
       line-height:21px;
       
       width:25px;
       height:18px;

       color:#444444;
   }
   
   .CustomPointName{
       font-size:12px;
       font-weight:bold;

       position:relative;
       top: -41px;
       left: 10px;
   }

</STYLE>

<META name=GENERATOR content="MSHTML 8.00.7600.16535">

</head>
<body style="height: 100%" onunload ="onunloadpage()">
    <div id="YMapsID" style="width: 100%; height: 100%"></div>
    </body>
</html>
"
1 ice123
 
15.05.13
20:12
Может дело в ключе или в HTML поле в 1С?
2 Kuklachel
 
27.05.13
14:01
Переходите на API 2.0. А если не смотря на ошибку скрипт работает нормально, пропишите отключение отображение ошибки.