|
| ||
SherifSP 19.12.20 - 21:31 | Добрый вечер уважаемые, стоит задача вывести гугл карту на экран, в скрипте используется тег <meta http-equiv="X-UA-Compatible" content="IE=11">, в событии ПолеHTMLДокумента1ДокументСформирован при вызове функции выскакивает ошибка "Метод объекта не обнаружен (eval)", платформа 8.3.10, у ЭлементыФормы.ПолеHTMLДокумента1.Документ.parentWindow = тип ComОбъект. Подскажите как решить эту проблему, заранее благодарен.
Процедура ПолеHTMLДокумента1ДокументСформирован(Элемент) Name = "Тест трт"; Discr = "Новый контрагент"; html="<strong>ТРТ: "+Name+"</strong.><br />"+"Контрагент: "+Discr+"<br />"+"Широта: "+Широта+"<br />"+"Долгота: "+Долгота; ЭлементыФормы.ПолеHTMLДокумента1.Документ.parentWindow.eval("setLetLng("+Формат(Широта,"ЧРД=.; ЧГ=0")+","+Формат(Долгота,"ЧРД=.; ЧГ=0")+",'"+"НоваяТРТ"+"','"+html+"')"); КонецПроцедуры | ||
acht 1 - 19.12.20 - 21:41 | |||
acht 2 - 19.12.20 - 21:46 | |||
SherifSP 3 - 19.12.20 - 21:49 | (2) Здесь при нажатии реализовано, мне нужно при открытии прорисовать на карте с заданными параметрами объект. При открытии формы в обработчике прописал
Процедура ПередОткрытием(Отказ, СтандартнаяОбработка)
Макет = ЭтотОбъект.ПолучитьМакет("Макет");
ЭлементыФормы.ПолеHTMLДокумента1.УстановитьТекст(Макет.ПолучитьТекст());
КонецПроцедуры | ||
acht 4 - 19.12.20 - 22:09 | (3) Читай медленно и вдумчиво. | ||
SherifSP 5 - 20.12.20 - 01:23 | Все равно не понял, у меня есть макет в виде html документа в котором прописана прорисовка карты, выполнил как написано в статье ЭлементыФормы.ПолеHTMLДокумента1.Документ.parentWindow.exec("setLetLng('" + Широта + "," + Долгота + ",'"+"НоваяТРТ"+"','"+html+"')"), всё та же ошибка "Метод объекта не обнаружен (exec)", где ошибка? | ||
SherifSP 6 - 20.12.20 - 01:52 | Текст html документа прилагаю <html><head><title>Google maps API</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"><!--Используем IE11, так как API поддерживает версии с 9 по 11 -->} function calcRoute() { GoogleIsReady = false; totaldistance = 0; LocalArrayOfCoord.length = 0; var request = { origin: start, destination: end, waypoints: waypts, optimizeWaypoints: false, provideRouteAlternatives: false, travelMode: google.maps.DirectionsTravelMode.DRIVING, unitSystem: google.maps.DirectionsUnitSystem.METRIC }; directionsService.route(request, function(response, status) { if (status == google.maps.DirectionsStatus.OK) { // directionsDisplay.setDirections(response); var route = response.routes[0]; for (var i = 0; i < route.legs.length; i++) { leg = route.legs[i]; totaldistance += leg.distance.value; for (var j = 0; j < leg.steps.length; j++) { step = leg.steps[j]; path = step.path; for (var k = 0; k < path.length; k++) { ArrayOfCoord.push(path[k]); LocalArrayOfCoord.push(path[k].lat()); LocalArrayOfCoord.push(path[k].lng());  // alert(path[k].lat()+";"+path[k].lng());  // LocalArrayOfCoord.push(path[k].lat() + "," + path[k].lng()); view.extend(new google.maps.LatLng(path[k].lat(), path[k].lng())); }} } } }); GoogleIsReady = true; return totaldistance; } function CreatePolyline() { if (polyline) {polyline.setMap(null)};  //polyline = new google.maps.Polyline({path: ArrayOfCoord, strokeColor: "#FF0000", strokeOpacity: 1.0, strokeWeight: 2});  //polyline.setMap(map); } function clearArrayOfCoord() { ArrayOfCoord.length = 0; } function fillArrayOfCoord(lat, lng) { ArrayOfCoord.push(new google.maps.LatLng(lat, lng)); view.extend(new google.maps.LatLng(lat, lng)); } //Получим текущую длину машрута function getdistance(){ return totaldistance; }  //Получим массив координат function getarrayofcoord(){ return LocalArrayOfCoord; }  //Получим состояние маршрута function getGoogleIsReady(){ return GoogleIsReady; } function positionmap() { if(!view.isEmty) { map.fitBounds(view);} } function setmaxmarkernumber(number) { maxmarkernumber = number; } function setstorage(isstorage) { storage = isstorage; } function addredmarkeroutofrout(Att,Lat,Name,Discr,rank,ind){var myLatlng = new google.maps.LatLng(Att,Lat); if (ind == 1) {var _icon = "file://192.168.1.207/ECODConnector2/Icon/Money/Delete.png";} if (ind == 2) {var _icon = "file://192.168.1.207/ECODConnector2/Icon/Money/dollar.png";} var marker = new google.maps.Marker({ position: myLatlng, map: map, visible: true, title:Name, comment:Discr, draggable: false, icon: _icon }); markersArray.push(marker); var htmlpart = '<strong>'+rank+'. ТРТ: '+Name+'</strong.><br />'+'Контрагент: '+Discr; var inflat = prevlat - myLatlng.lat(); var inflng = prevlng - myLatlng.lng(); if (inflat < 0) {inflat = - inflat}; if (inflng < 0) {inflng = - inflng}; if ( (inflat < 0.0015) && (inflng < 0.0015) ) {var html = globalhtml + '<br />' + htmlpart;} else {var html = htmlpart; globalhtml = '';} globalhtml = html; google.maps.event.addListener(marker, 'dblclick', function() { infowindow.setContent(html); infowindow.open(map, marker); }); view.extend(myLatlng); } function addredmarker(Att,Lat,Name,Discr,rank){var myLatlng = new google.maps.LatLng(Att,Lat); if ( (markernum != 1) && (markernum != maxmarkernumber) || (storage == 0) ) // {var _icon = "http://gmaps-samples.googlecode.com/svn/trunk/markers/red/marker" + rank + ".png";} // {var _icon = "https://github.com/googlemaps/js-v2-samples/blob/gh-pages/markers/blue/marker" + rank + ".png?raw=true";} //{var _icon = "https://github.com/googlemaps/js-v2-samples/blob/gh-pages/markers/red/marker" + rank + ".png?raw=true";} {var _icon = "file://192.168.1.207/ECODConnector2/Icon/RedMarker/marker" + rank + ".png";}else {var _icon = "http://google-maps-icons.googlecode.com/files/truck.png";} var marker = new google.maps.Marker({ position: myLatlng, map: map, visible: true, title:Name, comment:Name, draggable: false, icon: _icon }); markersArray.push(marker); if ( (markernum != 1) && (markernum != maxmarkernumber) || (storage == 0) ) {  //var htmlpart = '<strong>'+rank+'. ТРТ: '+Name+'</strong.><br />'+'Контрагент: '+Discr; var htmlpart = Discr; var inflat = prevlat - myLatlng.lat(); var inflng = prevlng - myLatlng.lng(); if (inflat < 0) {inflat = - inflat}; if (inflng < 0) {inflng = - inflng}; if ( (inflat < 0.0015) && (inflng < 0.0015) ) {var html = globalhtml + '<br />' + htmlpart;} else {var html = htmlpart; globalhtml = '';} } else {var htmlpart = '<strong>'+'Склад: '+Name+'</strong.>'; var html=htmlpart;} // alert(markernum + ': ' + html); globalhtml = html; google.maps.event.addListener(marker, 'dblclick', function() { infowindow.setContent(html); infowindow.open(map, marker); }); view.extend(myLatlng); prevlat = myLatlng.lat(); prevlng = myLatlng.lng(); markernum = markernum + 1; } function addgreenmarker(Att,Lat,Name,Discr,rank){ var myLatlng = new google.maps.LatLng(Att,Lat); if ( (markernum != 1) && (markernum != maxmarkernumber) || (storage == 0) )// {var _icon = "http://gmaps-samples.googlecode.com/svn/trunk/markers/green/marker" + rank + ".png";} {var _icon = "https://github.com/googlemaps/js-v2-samples/blob/gh-pages/markers/green/marker" + rank + ".png?raw=true";} else {var _icon = "http://google-maps-icons.googlecode.com/files/truck.png";} var marker = new google.maps.Marker({ position: myLatlng, map: map, visible: true, title:Name, comment:Discr, draggable: false, icon: _icon }); markersArray.push(marker); if ( (markernum != 1) && (markernum != maxmarkernumber) || (storage == 0) ) { var htmlpart = '<strong>'+rank+'. ТРТ: '+Name+'</strong.><br />'+'Контрагент: '+Discr; var inflat = prevlat - myLatlng.lat(); var inflng = prevlng - myLatlng.lng(); if (inflat < 0) {inflat = - inflat}; if (inflng < 0) {inflng = - inflng}; if ( (inflat < 0.0015) && (inflng < 0.0015) ) {var html = globalhtml + '<br />' + htmlpart;} else {var html = htmlpart; globalhtml = '';} } else {var htmlpart = '<strong>'+'Склад: '+Name+'</strong.>'; var html=htmlpart;} // alert(markernum + ': ' + html); globalhtml = html; google.maps.event.addListener(marker, 'dblclick', function() { infowindow.setContent(html); infowindow.open(map, marker); }); view.extend(myLatlng); prevlat = myLatlng.lat(); prevlng = myLatlng.lng(); markernum = markernum + 1; } function getMarkerLat(i){ var Res; Res = markersArray[i].getPosition().lat(); return Res; } function getMarkerLng(i){ var marker = new google.maps.Marker({ position: myLatlng,
map: map,
visible: true,
title:Name,
comment:Name,
draggable: false,
zIndex: 9998,
icon: _icon
});
markersArray.push(marker);
}
function setinfowindows() { var rank = 1; var Name = markersArray[0].title; var Discr = markersArray[0].comment; var html = '<strong>'+rank+'. ТРТ: '+Name+'</strong.><br />'+'Контрагент: '+Discr; google.maps.event.addListener(markersArray[0], 'dblclick', function() { infowindow.setContent(html); infowindow.open(map, markersArray[0]); }); for (var i = 1; i < markersArray.length; i++) { Name = markersArray[i].title; Discr = markersArray[i].comment; rank = i+1; inflat = markersArray[i].position.lat() - markersArray[i-1].position.lat(); inflng = markersArray[i].position.lng() - markersArray[i-1].position.lng(); if (inflat < 0) {inflat = - inflat}; if (inflng < 0) {inflng = - inflng}; if ( (inflat < 0.001) && (inflng < 0.001) ) {html = html + '<br />' + '<strong>'+rank+'. ТРТ: '+Name+'</strong.><br />'+'Контрагент: '+Discr;} else {html = '<strong>'+rank+'. ТРТ: '+Name+'</strong.><br />'+'Контрагент: '+Discr;} google.maps.event.addListener(markersArray[i], 'dblclick', function() { infowindow.setContent(html); infowindow.open(map, markersArray[i]); }); }} function getСoord(){
return Coord;
}
function getСoordCount(){
return LocalArrayOfCoord.length;
}
 //Получим состояние маршрута
function getGoogleIsReady(){
return GoogleIsReady;
}
function getCoord(i){
var Res;
Res = LocalArrayOfCoord[i];
return Res;
}
function getCoordLat(i){
var Res;
Res = LocalArrayOfCoord[i].getPosition().lat();
return Res;
}
function getCoordLng(i){
var Res;
Res = LocalArrayOfCoord[i].getPosition().lng();
return Res;
}
function getСoordCount(){ return LocalArrayOfCoord.length; } function getcenter(){ center = map.getCenter(); var arr = []; arr.push(center.lat()); arr.push(center.lng()); return arr; } function getzoom(zoom){ return map.getZoom(); } function setcenter(Att,Lat){ var myLatlng = new google.maps.LatLng(Att,Lat); BeginLatLng = myLatlng; //map.setCenter(myLatlng); } 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 }); Coord = String(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'; }); }} function setLetLng(Att,Lat,Name,Discr){ BeginLatLng = new google.maps.LatLng(Att,Lat); BeginZoom = 16; var marker = new google.maps.Marker({ position: BeginLatLng, visible: true, title:Name, comment:Discr, draggable: true }); markersArray.push(marker);  //var html='<strong>'+'ТРТ: '+Name+'</strong.><br /><br />'+'Контрагент: '+Discr; google.maps.event.addListener(marker, 'dblclick', function() { infowindow.setContent(Discr); 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); } Latlng = new google.maps.LatLng(markersArray[i].getPosition().lng(),markersArray[i].getPosition().lat()); return Res; } // 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; markernum = 1; }} function addmarkerarrow(Att,Lat,rank){var myLatlng = new google.maps.LatLng(Att,Lat); // var _icon = "https://github.com/googlemaps/js-v2-samples/blob/gh-pages/markers/red/marker" + rank + ".png?raw=true";} function setoptimalzoom() {var latlngbounds = new google.maps.LatLngBounds( ); for ( var i = 1; i < markersArray.length - 1; i++ ) { latlngbounds.extend( markersArray[i].position ); } map.fitBounds( latlngbounds ); } function AddToArrayOfCoordFact(Lat, Lng) { var myLatlng = new google.maps.LatLng(Lat, Lng);ArrayOfCoordFact.push(myLatlng) } function ClearArrayOfCoordFact() {
ArrayOfCoordFact.length = 0;
}
function CreatePolylineFact() { if (PolylineFact) {PolylineFact.setMap(null)}; PolylineFact = new google.maps.Polyline({path: ArrayOfCoordFact, strokeColor: "#0040FF", strokeOpacity: 1.0, strokeWeight: 2}); PolylineFact.setMap(map); } </script><div style="left: 560px; top: 206px; position: absolute;" u="undefined"><img width="256" height="256" style="margin: 0px; padding: 0px; border: 0px currentColor; border-image: none; left: 0px; top: 0px; width: 256px; height: 256px; position: absolute; max-width: none;" alt="" src="http://maps.google.com/maps/vt?pb=!1m5!1m4!1i13!2i4826!3i2798!4i256!2m3!1e0!2sm!3i354023750!3m9!2sru-RU!3sUS!5e18!12m1!1e47!12m3!1e37!2m1!1ssmartmaps!4e0&token=69973" unselectable="on"></div> <div style="left: 48px; top: -50px; position: absolute;" u="undefined"><img width="256" height="256" style="margin: 0px; padding: 0px; border: 0px currentColor; border-image: none; left: 0px; top: 0px; width: 256px; height: 256px; position: absolute; max-width: none;" alt="" src="http://maps.google.com/maps/vt?pb=!1m5!1m4!1i13!2i4824!3i2797!4i256!2m3!1e0!2sm!3i354023750!3m9!2sru-RU!3sUS!5e18!12m1!1e47!12m3!1e37!2m1!1ssmartmaps!4e0&token=9967" unselectable="on"></div> <div style="left: 48px; top: 462px; position: absolute;" u="undefined"><img width="256" height="256" style="margin: 0px; padding: 0px; border: 0px currentColor; border-image: none; left: 0px; top: 0px; width: 256px; height: 256px; position: absolute; max-width: none;" alt="" src="http://maps.google.com/maps/vt?pb=!1m5!1m4!1i13!2i4824!3i2799!4i256!2m3!1e0!2sm!3i354023354!3m9!2sru-RU!3sUS!5e18!12m1!1e47!12m3!1e37!2m1!1ssmartmaps!4e0&token=4924" unselectable="on"></div> <div style="left: 560px; top: -50px; position: absolute;" u="undefined"><img width="256" height="256" style="margin: 0px; padding: 0px; border: 0px currentColor; border-image: none; left: 0px; top: 0px; width: 256px; height: 256px; position: absolute; max-width: none;" alt="" src="http://maps.google.com/maps/vt?pb=!1m5!1m4!1i13!2i4826!3i2797!4i256!2m3!1e0!2sm!3i354023750!3m9!2sru-RU!3sUS!5e18!12m1!1e47!12m3!1e37!2m1!1ssmartmaps!4e0&token=33952" unselectable="on"></div> <div style="left: 560px; top: 462px; position: absolute;" u="undefined"><img width="256" height="256" style="margin: 0px; padding: 0px; border: 0px currentColor; border-image: none; left: 0px; top: 0px; width: 256px; height: 256px; position: absolute; max-width: none;" alt="" src="http://maps.google.com/maps/vt?pb=!1m5!1m4!1i13!2i4826!3i2799!4i256!2m3!1e0!2sm!3i354023677!3m9!2sru-RU!3sUS!5e18!12m1!1e47!12m3!1e37!2m1!1ssmartmaps!4e0&token=59411" unselectable="on"></div> <div style="left: -208px; top: 206px; position: absolute;" u="undefined"><img width="256" height="256" style="margin: 0px; padding: 0px; border: 0px currentColor; border-image: none; left: 0px; top: 0px; width: 256px; height: 256px; position: absolute; max-width: none;" alt="" src="http://maps.google.com/maps/vt?pb=!1m5!1m4!1i13!2i4823!3i2798!4i256!2m3!1e0!2sm!3i354023354!3m9!2sru-RU!3sUS!5e18!12m1!1e47!12m3!1e37!2m1!1ssmartmaps!4e0&token=22446" unselectable="on"></div> <div style="left: 816px; top: 206px; position: absolute;" u="undefined"><img width="256" height="256" style="margin: 0px; padding: 0px; border: 0px currentColor; border-image: none; left: 0px; top: 0px; width: 256px; height: 256px; position: absolute; max-width: none;" alt="" src="http://maps.google.com/maps/vt?pb=!1m5!1m4!1i13!2i4827!3i2798!4i256!2m3!1e0!2sm!3i354023750!3m9!2sru-RU!3sUS!5e18!12m1!1e47!12m3!1e37!2m1!1ssmartmaps!4e0&token=16430" unselectable="on"></div> <div style="left: -208px; top: -50px; position: absolute;" u="undefined"><img width="256" height="256" style="margin: 0px; padding: 0px; border: 0px currentColor; border-image: none; left: 0px; top: 0px; width: 256px; height: 256px; position: absolute; max-width: none;" alt="" src="http://maps.google.com/maps/vt?pb=!1m5!1m4!1i13! | ||
arsik 7 - 20.12.20 - 10:18 | (6) про pastebin слышал когда? | ||
acht 8 - 20.12.20 - 10:25 | (5) Твою портянку никто изучать не будет.
Читай еще медленней и еще внимательней. В районе фразы "был предложен еще один способ вызова JS" все написано. | ||
Гость из Мариуполя 9 - 20.12.20 - 13:05 | писец.
при открытии этой страницы у меня яндекс браузер предлагает перевести с сербскогоЛадно, что браузер предлагает перевод. Хрен с ним. Но почему с сербского то? У меня только одно предположение - близость (географическая) к албанскому. | ||
SherifSP 10 - 20.12.20 - 20:09 | (7) Нет | ||
SherifSP 11 - 20.12.20 - 20:12 | (8) Пробовал, когда вызываю его код, всё работает, код с гугл карты нет, ругается на метод "exec" | ||
acht 12 - 20.12.20 - 23:39 | (11) > когда вызываю его код, всё работает, код с гугл карты нет
Это означает, что твой "код с гугл карты" кривой и вызывает ошибку компиляции. Комментируй свою портянку по фрагментам, ищи сбой. | ||
SherifSP 13 - 22.12.20 - 23:02 | (12) Нашел причину, но не знаю как её решить.
// При таком раскладе выскакивает ошибка "Метод объекта не обнаружен exec"
<SCRIPT type="text/javascript" src="https://maps.googleapis.com/maps/api/js?key=AIzaSyAuTy6WX9zVtq5R5NNJV02zQugosbVddKA"> </SCRIPT>
<script type="text/javascript"> function exec(script) { eval(script); } </script> ЭлементыФормы.ПолеHTMLДокумента1.Документ.parentWindow.exec("alert('OK')"); // При таком раскладе всё отработало правильно <SCRIPT type="text/javascript"> </SCRIPT> <script type="text/javascript"> function exec(script) { eval(script); } </script> ЭлементыФормы.ПолеHTMLДокумента1.Документ.parentWindow.exec("alert('OK')"); Итог такой, ошибка появляется когда в поле HTML документа присутствует строка src="https://maps.googleapis.com/maps/api/js?key=AIzaSyAuTy6WX9zVtq5R5NNJV02zQugosbVddKA", как исправить ситуацию? | ||
acht 14 - 23.12.20 - 00:46 | (13) Согласно https://developers.google.com/maps/documentation/javascript/browsersupport твой "Compatibility View", задаваемый через твои мета теги "<!--Используем IE11, так как API поддерживает версии с 9 по 11 -->" - "is not supported".
Можешь попробовать принудительно переключить режим для всех своих процессов 1cv8*.exe в реестре, как описано в google, но совершенно не факт, что поможет. | ||
acht 15 - 23.12.20 - 00:48 | И да, огромное спасибо за твой ключ АПИ карт, выложенный в паблик =) | ||
SherifSP 16 - 23.12.20 - 19:51 | (15) Там без привязки карты оплаты | ||
SherifSP 17 - 23.12.20 - 20:20 | (14) Не смогу, у меня 10 винда и она работает только с IE 11 версии( | ||
SherifSP 18 - 23.12.20 - 20:21 | Неужели нет фирмы, где под 11 IE работают гугл карты? |
|
Список тем форума |