Имя: Пароль:
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 то ошибки из первого поста не возникает.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший