|   |   | 
| 
 | Метки на Google картах | ☑ | ||
|---|---|---|---|---|
| 0
    
        FOFA 05.11.13✎ 17:12 | 
        Добрый день.
 Есть вот такой фрагмент кода для вывода меток на Google карту ТекстСкрипта = "data.addRows(" + Строка(ТаблицаОбъектовДляВывода.Количество()) + ");"; Сч = 0; Для Каждого ТекСтрока Из ТаблицаОбъектовДляВывода Цикл ТекстСкрипта = ТекстСкрипта + " data.setCell(" + Строка(Сч) + ", 0, " +СтрЗаменить(Строка(ТекСтрока.Широта),",",".") + ");"; ТекстСкрипта = ТекстСкрипта + " data.setCell(" + Строка(Сч) + ", 1, " +СтрЗаменить(Строка(ТекСтрока.Долгота),",",".") + ");"; ТекстСкрипта = ТекстСкрипта + " data.setCell(" + Строка(Сч) + ", 2, '" +Строка(ТекСтрока.Наименование) + " "+Символы.ПС+ + Строка(ТекСтрока.Город) + " " + Строка(ТекСтрока.Адрес) + " " + " " + "');"; Сч = Сч + 1; КонецЦикла; СтраницаХТМЛ = "<html> | <head> | <script src=""http://maps.google.com/maps?file=api&v=2&key=" + APIГугла + """ type=""text/javascript""></script> | <script type=""text/javascript"" src=""http://www.google.com/jsapi""></script> | </head> | | <body> | <div id=""map_div"" style=""width: 950px; height: 650px""></div> | <script type=""text/javascript""> | | google.load(""visualization"", ""1"", {packages:[""map""]}); | google.setOnLoadCallback(drawMap); | function checkIfGoogleLoad() { | if(!google.visualization) setTimeout(checkIfGoogleLoad, 1000); | else drawMap(); | } | function drawMap() { | var data = new google.visualization.DataTable(); | data.addColumn('number', 'Lat'); | data.addColumn('number', 'Lon'); | data.addColumn('string', 'Name');" + ТекстСкрипта + " | var map = new google.visualization.Map(document.getElementById('map_div')); | map.draw(data, {showTip: true, mapType: 'normal'}); | } | checkIfGoogleLoad(); | </script> | </body> |</html>"; Подскажите, как поменять код, что бы в марке можно было отображать название маркера, его описание, картинку и Web ссылку. | |||
| 1
    
        DGorgoN 05.11.13✎ 17:17 | 
        data.addColumn('string', 'Name');" + ТекстСкрипта + " - тут не?     | |||
| 2
    
        FOFA 05.11.13✎ 17:22 | 
        Именно тут...Вот только как выразить ссылку и картинку я не знаю     | |||
| 3
    
        Smit1C 05.11.13✎ 17:27 | 
        там вроде надо настраивать стиль отображения этих меток, поищи в google map api     | |||
| 4
    
        Smit1C 05.11.13✎ 17:29 | ||||
| 5
    
        FOFA 05.11.13✎ 17:40 | 
        (4) именно так...
 Осталось код найти... | |||
| 6
    
        Smit1C 05.11.13✎ 17:50 | 
        (5) ctrl+u     | |||
| 7
    
        FOFA 05.11.13✎ 18:03 | 
        Не могу понять, как их код связать с моим(
 function makeMarker(location) { var markerOptions = {map: map, position: new google.maps.LatLng(location.lat, location.lng)}; var marker = new google.maps.Marker(markerOptions); markers.push(marker); var content = '<div style="text-align: center; font-size:14px;"><center><b>Diamantino, Brazil</b></center><img width="240" height="180" src="http://mw2.google.com/mw-panoramio/photos/small/7253919.jpg"/><div style="margin: auto; text-align: right; width: 240px;" class="linkbutton"><a href="http://www.panoramio.com/user/279908">Edson Walter Cavalari</a></div><div class="linkbutton"><a href="http://www.panoramio.com/photo/7253919" target="_blank">See more photos at Panoramio.com</a></div><br/><div class="linkbutton"><a href="http://www.google.com/search?q=site:wikipedia.org+Diamantino,Brazil&btnI=I\'m+Feeling+Lucky" target="_blank">Read more about this location</a></div><div class="linkbutton"><a href="javascript:void(0)" id="zoomLink">Zoom in to this location</a></div></div>'; google.maps.event.addListener(marker, 'click', function(e) { var infobox = new SmartInfoWindow({position: marker.getPosition(), map: map, content: content}); }); } | |||
| 8
    
        FOFA 05.11.13✎ 19:25 | 
        Я использую систему комманд
 var map = new google.visualization.Map(document.getElementById('map_div')); | map.draw(data, {showTip: true, mapType: 'normal'}); В примере (7) идет var marker = new google.maps.Marker(markerOptions); markers.push(marker); Наверное map.draw не поддерживает функционал картинок в маркерах и ссылок? | |||
| 9
    
        FOFA 06.11.13✎ 16:44 | 
        Разобрался
 Процедура Построитькарту() СсылкаНаБазу = ПолучитьНавигационнуюСсылкуИнформационнойБазы(); APIГугла = Константы.КлючКарта.Получить(); ТаблицаОбъектовДляВывода = Новый ТаблицаЗначений; ТаблицаОбъектовДляВывода.Колонки.Добавить("Наименование",Новый ОписаниеТипов("Строка")); ТаблицаОбъектовДляВывода.Колонки.Добавить("Город",Новый ОписаниеТипов("Строка")); ТаблицаОбъектовДляВывода.Колонки.Добавить("Адрес",Новый ОписаниеТипов("Строка")); ТаблицаОбъектовДляВывода.Колонки.Добавить("Широта",Новый ОписаниеТипов("Число",Новый КвалификаторыЧисла(10,6))); ТаблицаОбъектовДляВывода.Колонки.Добавить("Долгота",Новый ОписаниеТипов("Число",Новый КвалификаторыЧисла(10,6))); Если ЗначениеЗаполнено(Страна) Тогда Места = Справочники.Места.Выбрать(,Страна); Пока Места.Следующий() Цикл если Места.Широта <> 0 и Места.ПометкаУдаления = Ложь Тогда НоваяСтрока = ТаблицаОбъектовДляВывода.Добавить(); НоваяСтрока.Наименование = "<h1 id=""firstHeading"" class=""firstHeading"">"+СокрЛП(Места.Наименование)+"</h1>"; Если ЗначениеЗаполнено(Места.ФайлКартинки) Тогда Места.ФайлКартинки.Получить().Сохранить("C:\temp\"+СокрЛП(Места.Наименование)+".jpg"); //НоваяСтрока.Город = "<img width=""200"" height=""150"" src="""+СокрЛП(Места.Картинка)+"""+/>"+"</h1>"; НоваяСтрока.Город = "<img width=""200"" height=""150"" src="""+СокрЛП("C:\temp\"+СокрЛП(Места.Наименование)+".jpg")+"""+/>"+"</h1>"; Иначе НоваяСтрока.Город = ""; КонецЕслИ; Попытка НоваяСтрока.Адрес = СокрЛП(Строка(Места.ОписаниеМеста.Получить().ПолучитьТекст())); НоваяСтрока.Адрес = СтрЗаменить(НоваяСтрока.Адрес,Символы.ПС,""); Исключение НоваяСтрока.Адрес = ""; КонецПопытки; НоваяСтрока.Широта = Места.Широта; НоваяСтрока.Долгота = Места.Долгота; КонецЕслИ; КонецЦикла; Иначе Места = Справочники.Места.Выбрать(); Пока Места.Следующий() Цикл если Места.Широта <> 0 и Места.ПометкаУдаления = Ложь Тогда НоваяСтрока = ТаблицаОбъектовДляВывода.Добавить(); НоваяСтрока.Наименование = "<h1 id=""firstHeading"" class=""firstHeading"">"+СокрЛП(Места.Наименование)+"</h1>"; Попытка Места.ФайлКартинки.Получить().Записать("d:\"+СокрЛП(Прав(Места.Код,6))+".bmp"); НоваяСтрока.Город = "<img width=""200"" height=""150"" src="""+СокрЛП(Места.Картинка)+"""+/>"+"</h1>"; //НоваяСтрока.Город = "<img width=""200"" height=""150"" src="""+СокрЛП("d:\"+СокрЛП(Прав(Места.Код,6))+".bmp")+"""+/>"+"</h1>"; //"<img width="200" height="150" src="http://www.europetourism.su/wp-content/uploads/2011/12/Akveduk_v_Skope13-294x194.jpg"+/></h1>" Исключение НоваяСтрока.Город = ""; КонецПопытки; Попытка НоваяСтрока.Адрес = СокрЛП(Строка(Места.ОписаниеМеста.Получить().ПолучитьТекст())); НоваяСтрока.Адрес = СтрЗаменить(НоваяСтрока.Адрес,Символы.ПС,""); Исключение НоваяСтрока.Адрес = ""; КонецПопытки; НоваяСтрока.Широта = Места.Широта; НоваяСтрока.Долгота = Места.Долгота; КонецЕслИ; КонецЦикла; КонецЕслИ; ТекстСкрипта = "data.addRows(" + Строка(ТаблицаОбъектовДляВывода.Количество()) + ");"; Сч = 0; Для Каждого ТекСтрока Из ТаблицаОбъектовДляВывода Цикл ТекстСкрипта = ТекстСкрипта + " data.setCell(" + Строка(Сч) + ", 0, " +СтрЗаменить(Строка(ТекСтрока.Широта),",",".") + ");"; ТекстСкрипта = ТекстСкрипта + " data.setCell(" + Строка(Сч) + ", 1, " +СтрЗаменить(Строка(ТекСтрока.Долгота),",",".") + ");"; ТекстСкрипта = ТекстСкрипта + " data.setCell(" + Строка(Сч) + ", 2, '" +Строка(ТекСтрока.Наименование) + " " + Строка(ТекСтрока.Город) + " " + Строка(ТекСтрока.Адрес) + " " + " " + "');"; Сч = Сч + 1; КонецЦикла; СтраницаХТМЛ = "<html> | <head> | <script src=""http://maps.google.com/maps?file=api&v=2&key=" + APIГугла + """ type=""text/javascript""></script> | <script type=""text/javascript"" src=""http://www.google.com/jsapi""></script> | </head> | | <body> | <div id=""map_div"" style=""width: 100%; height: 100%""></div> | <script type=""text/javascript""> | | google.load(""visualization"", ""1"", {packages:[""map""]}); | google.setOnLoadCallback(drawMap); | function checkIfGoogleLoad() { | if(!google.visualization) setTimeout(checkIfGoogleLoad, 1000); | else drawMap(); | } | function drawMap() { | var data = new google.visualization.DataTable(); | data.addColumn('number', 'Lat'); | data.addColumn('number', 'Lon'); | data.addColumn('string', 'Name');" + ТекстСкрипта + " | var map = new google.visualization.Map(document.getElementById('map_div')); | map.draw(data, {showTip: true, mapType: 'normal'}); | } |function centerMap() { | map.setCenter(markers[markers.length-1].getPosition()); |} | checkIfGoogleLoad(); | </script> | </body> |</html>"; //,zoomLevel: 10 КонецПроцедуры | |||
| 10
    
        FOFA 06.11.13✎ 16:46 | 
        Но остался еще один вопрос...
 У меня картинки хранется в хранилище значений, для загрузки их на гугл карту я использую следующее: Места.ФайлКартинки.Получить().Записать("d:\"+СокрЛП(Прав(Места.Код,6))+".bmp"); НоваяСтрока.Город = "<img width=""200"" height=""150"" src="""+СокрЛП("d:\"+СокрЛП(Прав(Места.Код,6))+".bmp")+"""+/>"+"</h1>"; Данная схема не работает... Но если я подставляю в данную схему любой файл с диска, созданный не 1с предприятием, то все работает | |||
| 11
    
        FOFA 06.11.13✎ 16:47 | 
        Получается html код не хочет принимать картинки, созданные 1с предприятием(     | |||
| 12
    
        kokamoonga 06.11.13✎ 17:01 | 
        (10) разумеется данная схема не работает. Пространство имен кто будет указывать?
 "file:///d:/"+СокрЛП(Прав(Места.Код,6))+".bmp" как-то так наверно. Но вообще это дурь конечно. Правильнее поднять nginx например и отдавать картинки с веб-сервера, а не как локальные ресурсы. | |||
| 13
    
        FOFA 06.11.13✎ 17:04 | 
        Но картинка, созданная не в 1с, работает в таком исполнении
 Вот пример скрипта <img width="200" height="150" src="c:\temp\000000023.jpg"+/></h1> Если картинка, созданная из хранилища, то не работает, если просто взятая из сети, то все нормально | |||
| 14
    
        kokamoonga 06.11.13✎ 17:08 | 
        (13) значит путь неправильный.     | |||
| 15
    
        kokamoonga 06.11.13✎ 17:10 | 
        (14)+ или нет прав на папку.
 или на файл | |||
| 16
    
        FOFA 06.11.13✎ 17:17 | 
        Та нет..На данные файлы стоит полный доступ..А папка одинакова для двух примеров     | |||
| 17
    
        kokamoonga 06.11.13✎ 17:20 | 
        (16) а просто через адресную строку браузера файл открывается?     | |||
| 18
    
        FOFA 06.11.13✎ 17:23 | 
        Да и тот и тот     | |||
| 19
    
        FOFA 06.11.13✎ 17:28 | 
        Попробывал в Paint изменить файл с jpeg на bmp, тоже его не читает     | |||
| 20
    
        kokamoonga 06.11.13✎ 17:32 | 
        (19) что и в браузере не открывается?     | |||
| 21
    
        FOFA 06.11.13✎ 17:36 | 
        В браузере оба примера открывается, 
 Но когда картинку грузит скрипт, то не видит, хотя стандартную(не созданную в 1с) видит | |||
| 22
    
        FOFA 06.11.13✎ 17:37 | 
        Размеры картинок почти одинаковые     | |||
| 23
    
        FOFA 06.11.13✎ 17:42 | ||||
| 24
    
        kokamoonga 06.11.13✎ 17:50 | 
        (23) а отсуда скрипт ее видит?http://fs54.www.ex.ua/show/330199615458/80919635/80919635.jpg?1600     | |||
| 25
    
        kokamoonga 06.11.13✎ 17:51 | 
        (24) + отсюда*     | |||
| 26
    
        FOFA 06.11.13✎ 21:15 | 
        Она просто лежит на диске Д, первая и вторая..Скрипт пишется для локальных целей     | |||
| 27
    
        kokamoonga 06.11.13✎ 21:50 | 
        (26) я понимаю что она лежит на диске D. Но по твоей логике получается, что проблема в самой картинке, что конечно маловероятно, поэтому я и предлагаю проверить будет ли с ней проблема когда она лежит на нормальном веб-сервере.
 Чтобы решить проблему, ее надо сначала локализовать. А тут этим и не пахнет. | |||
| 28
    
        FOFA 06.11.13✎ 22:00 | 
        Загрузил на radikal.cc
 http://s017.radikal.ru/i424/1311/ae/c1833513d3a6.jpg Проблемы нету. Но мне нужно подгружать картинки с локальной папки на компьютере( | |||
| 29
    
        kokamoonga 06.11.13✎ 22:03 | 
        (28) ну поскольку та же картинка нормально грузится извне - делаем вывод. Проблема либо в пути, либо в правах. Поскольку статически прописанный путь работает нормально скорее всего проблема в коде:
 Места.ФайлКартинки.Получить().Записать("d:\"+СокрЛП(Прав(Места.Код,6))+".bmp"); НоваяСтрока.Город = "<img width=""200"" height=""150"" src="""+СокрЛП("d:\"+СокрЛП(Прав(Места.Код,6))+".bmp")+"""+/>"+"</h1>"; Тут точно правильный путь формируется? | |||
| 30
    
        kokamoonga 06.11.13✎ 22:04 | 
        (29) + кстати, </h1> там зачем?     | |||
| 31
    
        FOFA 06.11.13✎ 22:12 | 
        (12)
 file:///d:/"+СокрЛП(Прав(Места.Код,6))+".bmp" как-то так наверно Вот так помогло..Вот я и бестолочь) Просто другая картинка работала и без этого, вот это и смутило | |||
| 32
    
        FOFA 06.11.13✎ 22:13 | 
        kokamoonga спасибо большое     | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |