Имя: Пароль:
1C
1С v8
Яндекс-карты в 1С - как сделать круглую метку ?
0 Rovan
 
гуру
04.10.13
17:04
Я делал на основе шаблона
v8: Яндекс карты в 1с

На карте отображаются метки типа pm, а клиент просит pm2
http://api.yandex.ru/maps/doc/staticapi/1.x/dg/concepts/markers.xml

Подскажите как переключить тип метки в коде JavaScript ?
1 Rovan
 
гуру
04.10.13
17:08
Нашел вот такой пример
http://api.yandex.ru/maps/jsbox/placemark_balloon_layout

но не могу понять как его подключить к шаблону
2 Лодырь
 
04.10.13
17:14
Я делал просто:
Шаблон вида
КартаМестности = "
|<html>
|<head>
|<meta http-equiv=""Content-Type"" content=""text/html; charset=utf-8"" />
|<title>Карта местности</title>
|<script src=""http://api-maps.yandex.ru/2.0/?load=package.standard&lang=ru-RU""; type=""text/javascript""></script>
|
|<script type=""text/javascript"">
|var myMap;
|
|ymaps.ready(init);
|
|function init () {
|myMap = new ymaps.Map('map', {        
|        center:[55.008003, 82.896706], // Новосиб
|       zoom:10});
|
|    myMap.controls.add('zoomControl', { left: 5, top: 5 })
|
|}
|function putplacemark(x,y,name, body, footer, hint) {
|    myPlacemark = new ymaps.Placemark([x, y], {
|            
|            balloonContentHeader: """"+name,
|            balloonContentBody: """"+body,
|            balloonContentFooter: """"+footer,
|            hintContent: """"+name
|});
|myMap.geoObjects.add(myPlacemark);
|}
|</script>
|</head>
|
|<body>
|<div id=""map"" style=""width:400px; height:300px""></div>
|</body>
|</html>";

и далее вызывал функцию из 1с следующим способом:

Элементы.КартаМестности.Документ.parentWindow.putplacemark(Точка.Широта,Точка.Долгота,Заголовок,"",""+Точка.Время);
3 Rovan
 
гуру
07.10.13
08:23
(2) я передаю в точки не Широта и Долгота, а
почтовый адрес
4 Лодырь
 
07.10.13
08:41
у тя там старая версия api. посмотри как сделано сейчас у яндекса:
http://api.yandex.ru/maps/jsbox/multigeocode
5 ИС-2
 
naïve
07.10.13
08:50
именно для статик api? {долгота},{широта},{стиль}{цвет}{размер}{контент} . Тогда просто в стиле api указываем.

Если API 2 и в стандартных нет нужной метки, то выкладываем картинку на хостинг (я использую http://itmages.ru/ ) и ставлю ее в BalloonContent
6 ИС-2
 
naïve
07.10.13
09:01
извиняюсь за бардак. За основну обработка с инфостара

function AddTextPoint(MapObject, X, Y, pText,pHint,pPreset,pBalloonContent) {
        iconImage_ = "";    
        if (pPreset == "")  
        // простая черная точка
        // !!! надо перенести на наш сайт
         {iconImage_ =  'http://storage3.static.itmages.ru/i/13/0902/h_1378105655_3804138_396e8ed6f8.jpg'};
        else
         {iconImage_ = pPreset} ;
        
         // !!! надо ставить свою страничку
         // http://api.yandex.ru/maps/doc/jsapi/2.x/examples/ymapsml/ballooncontent.html
        
       BalloonContent_ = pBalloonContent;
       if (BalloonContent_ == "")
        {
        BalloonContent_ = '<img src="http://storage4.static.itmages.ru/i/13/0902/h_1378113495_4719766_ab017f9ea8.jpg"; />'
        };
      
                
        txtPoint = new ymaps.GeoObject( // будем работать не с PlaceMark, а с предком
                    { // спецификация
                    geometry: {
                        type: 'Point', // Тип геометрии - точка
                                                
                        coordinates: [X, Y] // Координаты точки
                    },
                    properties: {
                        hintContent: pHint,
                        iconContent: pText,
                        //balloonContent: '<img src="http://img-fotki.yandex.ru/get/6114/82599242.2d6/0_88b97_ec425cf5_M"; />'
                        //balloonContent : '<img src="http://storage4.static.itmages.ru/i/13/0902/h_1378113495_4719766_ab017f9ea8.jpg"; />'
                        balloonContent: BalloonContent_
                    }}, // конец спецификации
                    { // опции (только те, которые требуют явной переустановки)
                    //
                        draggable: true,
                        //hasBalloon: true,
                        //hasBalloon: false,
                        //iconShadow: false,
                        //interactivityModel: 'default#geoObject', // подробности см. interactivityModel.storage
                        //openBalloonOnClick: true,
                        // простая черная точка
                        //iconImageHref: 'http://storage3.static.itmages.ru/i/13/0902/h_1378105655_3804138_396e8ed6f8.jpg',
                        iconImageSize: [4, 4],
                        iconImageOffset: [-4,-4],
                        iconImageHref: iconImage_,
                        preset: iconImage_
                        //pPreset == "" ? iconImageHref:  'http://api.yandex.ru/maps/doc/jsapi/2.x/examples/images/myIcon.gif' : Preset:pPreset  

                        // если заполнено, то
                        //(if (pPreset == "")
                        // {iconImageHref:  'http://api.yandex.ru/maps/doc/jsapi/2.x/examples/images/myIcon.gif'}
                        //else    
                        // {preset: pPreset} )// Возможные значения оформления см. в модуле обработки ;
            } // конец задания опций
                    );
                
        MapObject.geoObjects.add(txtPoint);
        return txtPoint
    } // конец функции AddTextPoint
7 Rovan
 
гуру
07.10.13
09:39
(6) у тебя видимо просто точка,
а мне нужна точка с цифрой
вот точно так же как тут

http://maps.yandex.ru/?text=кинотеатр&sll=39.88819898499996%2C57.622375705292114&sspn=0.865173%2C0.256780&z=12&results=20&ll=39.853695%2C57.637309&spn=0.432587%2C0.128337&l=map
8 ИС-2
 
naïve
07.10.13
10:27
тогда надо передаватьв pText нужный текст т.е цифру