Имя: Пароль:
1C
 
Не работает google maps api v3
,
0 SherifSP
 
20.09.16
13:57
Здравствуйте форумчане, столкнулся с ошибкой "http://maps.google.com/maps-api-v3/api/js/24/13/intl/ru_ALL/onion.js"; - вылазит она в момент прорисовки гугл карты, помогите если кто сталкивался и решил данную ошибку, заранее благодарен.

<HTML><HEAD><TITLE>Пример работы с картой Google V3</TITLE>
<META name=viewport content="initial-scale=1.0, user-scalable=no"></META>
<META content="text/html; charset=UTF-8" http-equiv=content-type></META>

<SCRIPT type=text/javascript src="http://maps.google.com/maps/api/js?v=3.9&sensor=false"></SCRIPT>;

<SCRIPT type=text/javascript>
    var map;
    var LatLng;
    var BeginLatLng = new google.maps.LatLng(49.4311774689,32.0680094106);
    var BeginZoom = 14;
    var markersArray = [];
    var infowindow = new google.maps.InfoWindow({
       maxWidth: 600
    });
    var scriptcompleate = false;
    
  window.onload=function initialize() {
    var myOptions = {
      zoom: BeginZoom,
      center: BeginLatLng,
      mapTypeId: google.maps.MapTypeId.ROADMAP
    }
    map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
    LatLng = map.getCenter();
          
    google.maps.event.addListener(map, 'mouseup', function(event) {
      LatLng = event.latLng;
    });
    
    scriptcompleate = true;
    
    for (i in markersArray) {
      markersArray[i].setMap(map);
    };
  }

  
  function checkstate() {
      return scriptcompleate;
  }  
  
  function addmarker(Att,Lat,Name,html){
     var myLatlng = new google.maps.LatLng(Att,Lat);
     var marker = new google.maps.Marker({
        position: myLatlng,
        map: map,
        visible: true,
        title:Name,
        comment:Name,
        draggable: true
    });
    markersArray.push(marker);
    
    var text=html;
    
    google.maps.event.addListener(marker, 'dblclick', function() {
      infowindow.setContent(text);
      infowindow.open(map, marker);
    });

   }
    
  function setcenter(Att,Lat){
     var myLatlng = new google.maps.LatLng(Att,Lat);
     map.setCenter(myLatlng);
  }
  
  function setLetLng(Att,Lat,Name,html){
     BeginLatLng = new google.maps.LatLng(Att,Lat);
     var marker = new google.maps.Marker({
        position: BeginLatLng,
        visible: true,
        title:Name,
        comment:Name,
        draggable: true
    });
    markersArray.push(marker);
    
    var text = html;
    
    google.maps.event.addListener(marker, 'dblclick', function() {
      infowindow.setContent(text);
      infowindow.open(map, marker);
    });
}
  
  function getLat(){
     return LatLng.lat();
  }
  
  function getLng(){
     return LatLng.lng();
  }
  
  function getMarkers(){
     var Res = [];
     for (i in markersArray) {
     var LL = [];
     LL.push(markersArray[i].getPosition().lat());
     LL.push(markersArray[i].getPosition().lng());
     Res.push(LL);
    }

     return Res;
  }
  
  function getMarkerLat(i){
      var Res;
      Res = markersArray[i].getPosition().lat();
    return Res;
  }

  function getMarkerLng(i){
      var Res;
      Res = markersArray[i].getPosition().lng();
    return Res;
  }

  function getMarkersCount(){
      return markersArray.length;
  }
  
  function getZoom(){
     return map.getZoom();
  }
  
  function setZoom(Zoom){
    BeginZoom = Zoom;
  }
  
  function getaddress(address,type,Name,Discr){
      deleteOverlays();
      if (type == 'g') {
      geocoder = new google.maps.Geocoder();
     geocoder.geocode( { 'address': address}, function(results, status) {
        if (status == google.maps.GeocoderStatus.OK) {
          map.setCenter(results[0].geometry.location);
          var marker = new google.maps.Marker({
              map: map,
              position: results[0].geometry.location              
          });
          return 'OK';
        } else {
//           alert("Адрес не был найден");
          return 'NF';
        }
      });      
      };
//      else {
      if (type == 'y') {
      geocoder = new YMaps.Geocoder(address);
    YMaps.Events.observe(geocoder, geocoder.Events.Load, function () {
        if (this.length()) {
            point = this.get(0).getGeoPoint();
            Lat = point.getLng();
            Att = point.getLat();
            addmarker(Att,Lat,Name,Discr);            
            myLatlng = new google.maps.LatLng(Att,Lat);
            map.setCenter(myLatlng);
            precision = this.get(0).precision;
            if (precision == 'exact')  {map.setZoom(18);}
            if (precision == 'number') {map.setZoom(18);}
            if (precision == 'near')   {map.setZoom(18);}
            if (precision == 'street') {map.setZoom(15);}
            if (precision == 'other')  {map.setZoom(11);}
          return 'OK';
        } else {
//            alert("Ничего не найдено");
         return 'NF';
        }
    })
    YMaps.Events.observe(geocoder, geocoder.Events.Fault, function (geocoder, errorMessage) {
        alert("Произошла ошибка: " + errorMessage);
          return 'NF';
    });
    }
}
  
  
// Removes the overlays from the map, but keeps them in the array
function clearOverlays() {
  if (markersArray) {
    for (i in markersArray) {
      markersArray[i].setMap(null);
    }
  }
}

// Shows any overlays currently in the array
function showOverlays() {
  if (markersArray) {
    for (i in markersArray) {
      markersArray[i].setMap(map);
    }
  }
}

// Deletes all markers in the array by removing references to them
function deleteOverlays() {
  if (markersArray) {
    for (i in markersArray) {
      markersArray[i].setMap(null);
    }
    markersArray.length = 0;
  }
}
  
</SCRIPT>

<META name=GENERATOR content="MSHTML 9.00.8112.16437"></META><BASE href="v8config://bd2c1c2f-d3a6-44f6-8cd1-df967a61804a/mdobject/id6cc34562-6f7e-4b93-abea-68bce1118440/8eb4fad1-1fa6-403e-970f-2c12dbb43e23"></BASE></HEAD>
<BODY style="PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 0px">
<DIV style="WIDTH: 100%; HEIGHT: 100%" id=map_canvas></DIV></BODY></HTML>
1 oslokot
 
20.09.16
14:07
(0) попробуй добавить заголовок
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
2 sitex
 
naïve
20.09.16
14:48
(0) Никакой ошибки у меня не вываливается с твоим кодом, все чисто.
3 SherifSP
 
20.09.16
15:11
(2) Она не сразу вываливается, поиграйся из зумом
4 SherifSP
 
20.09.16
15:13
(1) Добавить или заменить на существующий тег?
5 SherifSP
 
20.09.16
15:17
(1) добавил этот тег и вместо карты белый экран(
6 oslokot
 
20.09.16
16:14
Добавить. И версия я смотрю какая-то старая js?v=3.9
У меня как раз с этим тегом, версия движка v=3.21 и ишак 11
Все прекрасно отображается.
7 SherifSP
 
20.09.16
16:30
(6) Сделал как написано, но ничего не отображается
<HTML><HEAD><TITLE>Пример работы с картой Google V3</TITLE>
<META name=viewport content="initial-scale=1.0, user-scalable=no"></META>
<META content="text/html; charset=UTF-8" http-equiv=content-type></META>
<META http-equiv="X-UA-Compatible" content="IE=edge"/>
<SCRIPT type=text/javascript src="http://maps.google.com/maps/api/js?v=3.21&sensor=false"></SCRIPT>;
8 sitex
 
naïve
20.09.16
16:36
(3) на Explorer 11 все норм и зумом игрался и т.д.
9 oslokot
 
20.09.16
16:40
(7) Странно, у меня работает только с тегом "X-UA-Compatible"

А иэксплорер какой версии?
10 SherifSP
 
20.09.16
16:48
(9) скинь код который у тебя, версия експлорера 9
11 oslokot
 
20.09.16
16:52
(10) например

Процедура Тест()
    
    Карта =
    "<!DOCTYPE html>
    |<html>
    |<head>
    |<meta name=""viewport"" content=""initial-scale=1.0, user-scalable=no"">
    |<meta http-equiv=""Content-Type"" content=""text/html; charset=""utf-8"">
    |<meta http-equiv='X-UA-Compatible' content='IE=11'/>
    |<title>Info windows</title>
    |<style>
    |  html, body {
    |    height: 100%;
    |    margin: 0;
    |    padding: 0;
    |  }
    |  #map {
    |    height: 100%;
    |  }
    |</style>
    |</head>
    |<body>
    |<div id=""map""></div>
    |<script>
    |
    |function initMap() {
    |  var uluru = {lat: 50.0, lng: 40.0};
    |  var map = new google.maps.Map(document.getElementById('map'), {
    |    zoom: 4,
    |    center: uluru
    |  });
    |
    |var contentString = 'test';
    |
    |var infowindow = new google.maps.InfoWindow({
    |content: contentString
    |});
    |
    |var marker = new google.maps.Marker({
    |  position: uluru,
    |  map: map
    |});
    |infowindow.open(map, marker);
    |}
    |
    |</script>
    |<script async defer
    |    src=""https://maps.googleapis.com/maps/api/js?v=3.21&callback=initMap""></script>;
    |</body>
    |</html>";
    
КонецПроцедуры // Тест()
12 SherifSP
 
20.09.16
16:54
(11) Попробуй туда втулить
<STYLE type=text/css>HTML {
    PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; HEIGHT: 100%; PADDING-TOP: 0px
}
BODY {
    PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; HEIGHT: 100%; PADDING-TOP: 0px
}
#map {
    HEIGHT: 100%
}
</STYLE>
сохрани обработку, закрой и открой заново
13 SherifSP
 
20.09.16
16:55
+(12) У меня пропадает весь код в html документе
14 oslokot
 
20.09.16
16:59
(12) ну какой-то кривой стиль. Нафига он тут?
15 oslokot
 
20.09.16
17:00
(14) + втулил, ничего не пропало.
16 oslokot
 
20.09.16
17:01
Ишак 11
17 Aradel3d
 
20.09.16
17:39
А на какой форме размещаете?
18 SherifSP
 
21.09.16
10:03
Может есть решения без переустановки ИЕ?
19 SherifSP
 
21.09.16
11:30
Обновил ИЕ на 11 версию, но при обращении
ЭлементыФормы.ПолеHTMLДокумента.Документ.parentWindow.eval("setLetLng("+Формат(Широта,"ЧРД=.; ЧГ=0")+","+Формат(Долгота,"ЧРД=.; ЧГ=0")+",'"+СтрЗаменить(ТРТ.Наименование, "'", "`")+"','"+html+"')");
Выскакивает ошибка метод объекта не обнаружен eval
20 SherifSP
 
21.09.16
11:36
(19) После того как убрал тег в html документе "<META http-equiv="X-UA-Compatible" content="IE=edge"/>" ошибка пропала
21 Vladal
 
21.09.16
11:52
Попробуй использовать OpenMaps
22 SherifSP
 
21.09.16
12:01
(21) Где именно?)
23 SherifSP
 
21.09.16
12:02
"<META http-equiv="X-UA-Compatible" content="IE=edge"/>" - тег убрал изначальную ошибку, но если его использовать, то 1С не видит функций в html документе, ошибка как в 19 пункте
24 Aradel3d
 
21.09.16
16:08
Интересно, что если не наводить курсор на поле HTML то ошибки из первого поста не возникает.