Клуб API Карт

апрель 2012
Максимальный зум
Виктор Васильев
2 апреля 2012, 06:14

Добрый день, уважаемые коллеги!

Столкнулся с проблемой с api. Создаю сервис карт для маленького городка, использую PMAP модуль, т.к. в обычных картах этот город просто точка. Все бы ни чего, но к сожалению максимальный зум = 15, выше задать не получается, точнее ни как ни влияет на отображение.

map.setCenter(new YMaps.GeoPoint(var1,var2),16 // все равно будет также, как и 15.

Получает слишком далекая картинка, фактически захватывающая весь город.

Мне нужно приблизить до улицы.

Вопрос вот в чем: планируется ли увеличить кофициент зуммирования, хотя бы для PMAP?

Может есть какой ни будь хитрый "финт ушами", что бы "обойти" это ограничение?

 

Попутно задам еще один вопрос: в pmap-e нарисовали множество объектов, как скоро они будут выложены на освной сервер карт, т.е. как часто внесенные изменения становятся доступны всем через PMAP?

 

Заранее спасибо!

1 комментарий
API 1.x
Расширение YandexMaps для Википедии (движка MediaWiki 18.2)
wikipro
2 апреля 2012, 08:55

Привет всем!!

У месня возникла проблема для движка mediawiki существует расширение YandexMaps написанное  Valerian Ivashenko. Как оказалось оно совместимо только для версий  1.16-1.17. При последенем обновлении движка чтото стало работать не так .

Я к сожалению не  разбираюсь в PHP5.3 и API Яндекс.Карт настолько хорошо чтобы соватся в чужой код . Может кто нибудь из специалистов посмотрит и сможет поправить код расширения.

PS смайлики в коде на месте ) и ;  без смайликов код можно скачать в zip архиве со страницы расширения отсюда

 

<?php
 
/**
 * YandexMaps MediaWiki extension
 *
 * @package MediaWiki
 * @subpackage Extensions
 *
 * @link http://www.mediawiki.org/wiki/Extension:YandexMaps
 *
 * @author Valerian Ivashenko
 * @copyright Copyright © 2011
 * @license http://www.gnu.org/copyleft/gpl.html GNU General Public License 2.0
 *     or later
 *
 * To activate this extension, include it from your LocalSettings.php
 * with: require_once("$IP/extensions/YandexMaps/YandexMaps.php");
 */
 
if ( !defined( "MEDIAWIKI" ) )
{
    die( "This file is a MediaWiki extension, it is not a valid entry point"
}
 
$YAM_MAP_SCRIPT_INCLUDED = false;
function addYandexScript( $parser, $js ) {
        global $YAM_MAP_SCRIPT_INCLUDED;
        global $wgYandexMapServer;
        global $wgYandexMapAPIKey;
 
        if( !$YAM_MAP_SCRIPT_INCLUDED ) {
                $tag = '<script type=\'text/javascript\' src=\'';
                $tag .= $wgYandexMapServer;
                $tag .= $wgYandexMapAPIKey;
                $tag .= '\'></script>';
                $parser->mOutput->addHeadItem($tag);
                $parser->mOutput->addHeadItem($js);
                $YAM_MAP_SCRIPT_INCLUDED = true;
        }
}

function addMapScript( $parser, $js ) {
        $parser->mOutput->addHeadItem($js);
}
 
$wgHooks[ 'ParserFirstCallInit' ][] = $wgHooks[ 'LanguageGetMagic' ][]
    = ExtYandexMaps::getInstance(
$wgExtensionCredits[ 'parserhook' ][] = array(
    'path'        => __FILE__,
    "author"      => "Valerian Ivashenko",
    "name"        => "YandexMaps",
    "version"     => ExtYandexMaps::VERSION,
    "description" => "Parser function for rendering yandex maps",
    "url"         => "http://www.mediawiki.org/wiki/Extension:YandexMaps",

 
class ExtYandexMaps
{
    const VERSION = "1.8.2";
   
    private static $instance = null;
 
    private $parserFunctions = array(
        'yandexmap' => array( 'renderYandexMap', SFH_OBJECT_ARGS ),
 
   
 
    private $mapcounter = 0;
 
    public static function getInstance()
    {
        // create the singleton if needed
        if ( self::$instance === null )
            self::$instance = new self(
 
        return self::$instance;
    }
 
    /**
     * limited-access constructor to insure singleton
     */
    protected function __construct()
    {
    }
 
    public function onParserFirstCallInit( &$parser )
    {
        global $wgMessageCache, $wgHooks;
 
        // These functions accept DOM-style arguments
        foreach( $this->parserFunctions as $hook => $callAndFlags )
            $parser->setFunctionHook( $hook, array( $this, $callAndFlags[ 0 ] ),
                $callAndFlags[ 1 ]

        require_once( dirname( __FILE__ ) . '/YandexMaps.i18n.php'
 
        foreach( YandexMaps_i18n::getInstance()->getMessages()
            as $lang => $messages )
            $wgMessageCache->addMessages( $messages, $lang
 
        return true;
    }
 
    public function onLanguageGetMagic( &$magicWords, $langCode )
    {
        require_once( dirname( __FILE__ ) . '/YandexMaps.i18n.php'
   
        foreach( YandexMaps_i18n::getInstance()->magicWords( $langCode )
            as $word => $trans )
            $magicWords[ $word ] = $trans;
   
        return true;
    }
 
    public function renderYandexMap( &$parser, $frame, $args  ) {
        // bug 12842:  first argument is automatically
        //   expanded, so we ignore this one
        $location = array_shift( $args
        $width = intval(trim( $frame->expand( array_shift( $args )))
        $height = intval(trim( $frame->expand( array_shift( $args )))
        $options = array_shift( $args
        $options = isset( $options ) ? $frame->expand( $options ) : 'cdzMB';
        $opt = 0;
        if (strpos($options,'c') !== false) {
            $opt = $opt + 1;
        }
        if (strpos($options,'d') !== false) {
            $opt = $opt + 2;
        }
        if (strpos($options,'r') !== false) {
            $opt = $opt + 4;
        }
        if (strpos($options,'z') !== false) {
            $opt = $opt + 8;
        }
        if (strpos($options,'h') !== false) {
            $opt = $opt + 16;
        }
        if (strpos($options,'m') !== false) {
            $opt = $opt + 32;
        }
        if (strpos($options,'b') !== false) {
            $opt = $opt + 64;
        }
        if (strpos($options,'M') !== false) {
            $opt = $opt + 128;
        }
        if (strpos($options,'H') !== false) {
            $opt = $opt + 256;
        }
        if (strpos($options,'S') !== false) {
            $opt = $opt + 512;
        }
        if ((strpos($options,'P')||strpos($options,'B')) !== false) {
            $opt = $opt + 1024;
        }
        if (strpos($options,'B') !== false) {
            $opt = $opt + 2048;
        }
        $output = '';
     $js = '<script type="text/javascript">
        /*<![CDATA[*/
        // Map render function creation
        function renderYandexMap(YMaps,id,location,p) {
            // Map instance creation and association with the created container
            var map = new YMaps.Map(document.getElementById(id)

            // Map center and scale zoom settings
            if ((p&128)==128) { //M
                map.setCenter(new YMaps.GeoPoint(27.55, 53.9), 10, YMaps.MapType.MAP);
            }
            if ((p&256)==256) { //H
                map.setCenter(new YMaps.GeoPoint(27.55, 53.9), 10, YMaps.MapType.HYBRID);
            }
            if ((p&512)==512) { //S
                map.setCenter(new YMaps.GeoPoint(27.55, 53.9), 10, YMaps.MapType.SATELLITE);
            }
            if ((p&1)==0) { //c
                map.disableDblClickZoom(
            }
            if ((p&2)==0) { //d
                map.disableDragging(
            }
            if ((p&4)==4) { //r
                map.enableRuler(
            }
            if ((p&8)==8) { //z
                map.enableScrollZoom(
                var zoomControl = new YMaps.Zoom(
                map.addControl(zoomControl);
            }
            if ((p&16)==16) { //h
                map.enableHotKeys(
            }
            if ((p&32)==32) { //m
                map.enableMagnifier(
            }
            if ((p&64)==64) { //b
                map.enableRightButtonMagnifier(
            }
         
            // Geocode process launching
            var geocoder = new YMaps.Geocoder(location,{prefLang : "ru"}
             
            // Geocode ending process success handler
            YMaps.Events.observe(geocoder, geocoder.Events.Load, function (geocoder) {
                if (this.length()) {

              if ((p&1024)==1024) { //P
                        // Balloon content style creation
                        var s = new YMaps.Style(
                        s.balloonContentStyle = new YMaps.BalloonContentStyle(
                            new YMaps.Template("<div style=\"background:none;color:black\">$[description]</div>")
                       
 
                        // User defined style placemark and its adding to the map
                        var placemark = new YMaps.Placemark(this.get(0).getGeoPoint(), {style: s}
                        placemark.description = location;
                        map.addOverlay(placemark);
   
                  if ((p&2048)==2048) //B
                            placemark.openBalloon(
                    }
                    map.setBounds(this.get(0).getBounds()
                }else {
                    alert("Nothing Found")
                }
            }
           
            // Geocode ending failure handler
            YMaps.Events.observe(geocoder, geocoder.Events.Fault, function (error) {
                alert("An error has occurred: " + error.message)
            }
        }
/*]]>*/
</script>';
        addYandexScript($parser, $js);

        $id = 'YMapsID';
        $id .= intval ($this->mapcounter++);

     $js = '<script type="text/javascript">
        /*<![CDATA[*/
        // window.onLoad event handler creation
        YMaps.jQuery(function () {
            // map render function call
            renderYandexMap(YMaps,"';
        $js .= <<<ENDID
{$id}
ENDID;
        $js .=  '","';
        $js .= <<<ENDLOCATION
{$location}
ENDLOCATION;
        $js .= '",';
        $js .= <<<ENDOPTION
{$opt}
ENDOPTION;
        $js .= ');
        }
/*]]>*/
</script>';
        addMapScript($parser, $js);

        $output .= '<div id="';
        $output .= <<<ENDOUTID
{$id}
ENDOUTID;
        $output .= '" style="width:';
        $output .= <<<ENDWIDTH
{$width}
ENDWIDTH;
        $output .= 'px;height:';
        $output .= <<<ENDHEIGHT
{$height}
ENDHEIGHT;
        $output .= 'px"></div>';
        return $output;
    }
}

  

 <?php
 
class YandexMaps_i18n
{
    private $words = array(
    // English
        'en' => array(
            'yandexmap'    => array( 0, 'yandexmap' ),
        ),
   
 
    private $messages = array(
    // English
        'en' => array(
        )
   
 
    private static $instance = null;
 
    public static function getInstance()
    {
        // create the singleton if needed
        if ( self::$instance === null )
            self::$instance = new self(
 
        return self::$instance;
    }
 
    /**
     * limited-access constructor to insure singleton
     */
    protected function __construct()
    {
    }
 
    /**
     * Get translated magic words, if available
     *
     * @param string $lang Language code
     * @return array
     */
    public function magicWords( $lang )
    {
        // English is used as a fallback, and the English synonyms are
        // used if a translation has not been provided for a given word
        return ( $lang == 'en' || !isset( $this->words[ $lang ] ) ) ?
            $this->words[ 'en' ] :
            array_merge( $this->words[ 'en' ], $this->words[ $lang ]
    }
 
    public function getMessages()
    {
        return $this->messages;
    }
}

 

2 комментария
API 1.x
10 карт для сайта
Адвокат Полина Кобзева
2 апреля 2012, 10:45

У меня на сайте есть карта проезда к офису

Но за прошлый год мы открыли 10 миниофисов

Я хотел бы на страницах, описывающих миниофисы- разместить карты проезда к ним

как это сделать? завести 10 учетных записей и с каждой поставить ссылку с картой на отдельные страницы? или существует способ получить 10 разных карт с одной записи?

1 комментарий
API 1.x
Яндекс-карты в мобильном приложении
homez386
2 апреля 2012, 13:53

Всем привет!

Вопрос, скорее всего, не по API Яндекс-карт, а по использованию Яндекс-карт вообще. Я уже имел некоторый опыт работы с Яндекс-картами - интегрировал их в форму заказа такси, использовал API. Сейчас же моя задача заключается в написании Android-приложения для водителей, работающих в службе такси как ИП. Соответсвенно, это приложение выполняет роль мини-диспетчерской для единственного водителя, а само работает с веб-сервисом, который должен объединить несколько таксопарков и много ИП, предоставляя им заказы, ведя рейтинг и т.д.

Основное предназначение мобильного приложения - работа с заказами, в том числе с тем, для которого данный ИП выбран исполнителем. К сожалению, практически не могу продвигаться в этом направлении, так как ведущий разработчик еще не доделал API веб-сервиса. Недавно же мой шеф решил, что было бы замечательно по исполняемому заказу предоставлять водителю карту проезда от точки отправки до карты назначения, а может быть, и карту проезда до точки встречи с клиентом. Хотелось бы для этой цели использовать и Яндекс-карты.

Итак, вопрос: могу ли я каким-либо образом использовать Яндекс-карты в мобильном приложении, программно задавая точки маршрута (может быть, в виде параметров страницы соответствующего сервиса Яндекса, без необходимости создавать свою собственную отдельную страницу для раоты с API (тем более, скорее всего написание такой страницы будет нарушать лицензионное соглашение, так как она будет использоваться не общедоступно, а только внутри приложения)? При этом бы хотелось также во фрейме веб-страницы отображать только карту, без всего прочего типичного антуража. Подозреваю, что тут не обойдется без модификации DOM страницы. А может быть, придется прилаживать и свой JavaScript (хотя я не знаю, возможно ли последнее).

Итак, хотелось бы услишать ваши мнения и советы.

С уважением, Дмитрий

5 комментариев
API 1.x
Обратное геокодирование - поиск объектов в видимой области
konclave
2 апреля 2012, 15:01

При обратном геокодировании есть параметр, который позволяет задать тип искомого топонима. Если его не задавать, то производится поиск по всем топонимам, начиная от дома, заканчивая страной.

Возможно ли как-либо ограничить область поиска или видимой областью карты или же не одним топонимом, а несколькими (например, дом и улица)

Пробовал задавать в качестве значения kind массив строк - не срабатывает

Пробовал пытаться ограничивать область поиска через boundedBy: map.getBounds() - тоже не помогло 

10 комментариев
API 1.x
Маршрут с учетом пробок
Зохир Абдиев
2 апреля 2012, 15:02

как сделать прокладываемый маршрут учитывала пробки

На сайте (пример www.inkadro.ru/1.html ) без учета пробок. Как сделать с учетом пробок???! и показвала растояние маршрута. 

3 комментария
API 1.x
Подмена тайла карты на народную карту
signsign.info
2 апреля 2012, 20:26

Доброго вечера!

Появилось пару вопросов для созданных ранее тем по проекту подробности тут и тут 

http://signsign.ru/blog/2012/03/01/onlajn-atlas-dorozhnyx-znakov.html

 

Подскажите пожалуйста каким образом происходит подмена тайла карты на народную карту, когда зума карты не хватает и обратно?

И второе если в поиске карты ввести долготу и широту то метка покажется не по этим координатам, а несколько иным. каким образом можно сделать что бы найденная точка соответсвовала действительности и именна введенным координатам?

 

з.ы. Реализовал и отладил данный механизм для хрома.Но для общего пользования выгружать боюсь у меня в IE9 приведенное, вами решение подтормаживает и ест много памяти, а проект яндекс.карт себя так не ведет. у вас разные реализации? а на мобильниках вообще через раз работает.

1 комментарий
API 1.x
ну неотображается карта в других браузерах, только в Chrome...
Андрей Попов
3 апреля 2012, 12:54

День добрый, пролистал 10 страниц с подобными страницами, ответа не нашел
Карта отображается только в Хроме, в других браузерах просто серый квадратик с пометкой от Яндекса
что может быть не так???

http://info-granit.ru/contacts/
http://info-granit.ru/sklad/

2 комментария
API 1.x
Подскажите пожалуйста !
Максим
3 апреля 2012, 22:53

я не очень хорошо разбираюсь в вопросе.

напишите пожалуйста

как должна выглядеть ссылка

для перехода к карте по заданным координатам

и установке в центр метки

чтоб не отображать весь список меток а только одну с указанным адресом

Если можно целеком.

Заранее спасибо огромное!

 

<script src="мой ключ&modules=pmap&modules=traffic&wizard=constructor" type="text/javascript"></script>
<script type="text/javascript"> 
window.onload = function () {
 var map = new YMaps.Map(document.getElementById("YMapsID")),
 flagLoad = 0;
 
 map.addControl(new YMaps.Zoom()
 map.addControl(new YMaps.ToolBar()
 map.addControl(new YMaps.TypeControl()
 
 map.enableScrollZoom(
 
 // Установка для карты ее центра и масштаба
 map.setCenter(new YMaps.GeoPoint(33.524396,44.615554), 12);
 
YMaps.Styles.add("constructor#pmlbmPlacemark", {
 iconStyle : {
 href : "http://api-maps.yandex.ru/i/0.3/placemarks/pmlbm.png",
 size : new YMaps.Point(28,29),
 offset: new YMaps.Point(-8,-27)
 }
 }

 map.addOverlay(createObject("Placemark", new YMaps.GeoPoint(33.525113,44.618022), "constructor#pmlbmPlacemark", "Севастополь.<br/>Лучше места не найдёшь! ")
 map.addOverlay(createObject("Placemark", new YMaps.GeoPoint(33.524933,44.615186), "constructor#pmlbmPlacemark", "Севастопольская Государственная Городская Администрация")
 map.addOverlay(createObject("Placemark", new YMaps.GeoPoint(33.542613,44.609961), "constructor#pmlbmPlacemark", "Севастопольская Государственная Администрация в Нахимовском районе") 
 map.addOverlay(createObject("Placemark", new YMaps.GeoPoint(33.451182,44.593934), "constructor#pmlbmPlacemark", "Севастопольская Городская Администрация в Гагаринском районе")
 map.addOverlay(createObject("Placemark", new YMaps.GeoPoint(33.598806,44.512333), "constructor#pmlbmPlacemark", "Севастопольская Городская Администрация в Балаклавском районе")
 map.addOverlay(createObject("Placemark", new YMaps.GeoPoint(33.461849,44.577781), "constructor#pmlbmPlacemark", "АТБ-Маркет")
 map.addOverlay(createObject("Placemark", new YMaps.GeoPoint(33.527953,44.5636), "constructor#pmlbmPlacemark", "АТБ-Маркет")
 map.addOverlay(createObject("Placemark", new YMaps.GeoPoint(33.52372,44.569256), "constructor#pmlbmPlacemark", "АТБ-Маркет")
 map.addOverlay(createObject("Placemark", new YMaps.GeoPoint(33.445026,44.585473), "constructor#pmlbmPlacemark", "АТБ-Маркет")
 map.addOverlay(createObject("Placemark", new YMaps.GeoPoint(33.519773,44.579395), "constructor#pmlbmPlacemark", "КЛИНИКА доктора МАЛЬКОВОЙ ")
 map.addOverlay(createObject("Placemark", new YMaps.GeoPoint(33.510135,44.582587), "constructor#pmlbmPlacemark", "Теплый Дом ")
 map.addOverlay(createObject("Placemark", new YMaps.GeoPoint(33.509556,44.582158), "constructor#pmlbmPlacemark", "Мир Моек ")
 map.addOverlay(createObject("Placemark", new YMaps.GeoPoint(33.509603,44.582184), "constructor#pmlbmPlacemark", "МЕБЕЛЬ Вишня ")
 map.addOverlay(createObject("Placemark", new YMaps.GeoPoint(33.509571,44.582154), "constructor#pmlbmPlacemark", "Мебельный салон Константа ")
 map.addOverlay(createObject("Placemark", new YMaps.GeoPoint(33.508606,44.581648), "constructor#pmlbmPlacemark", "Комфорт вашего дома ")
 map.addOverlay(createObject("Placemark", new YMaps.GeoPoint(33.507436,44.581042), "constructor#pmlbmPlacemark", "MebeLiK ")
 map.addOverlay(createObject("Placemark", new YMaps.GeoPoint(33.512082,44.584281), "constructor#pmlbmPlacemark", "Твой дом ")
 map.addOverlay(createObject("Placemark", new YMaps.GeoPoint(33.51797,44.582025), "constructor#pmlbmPlacemark", "Stock Талисман ")
 map.addOverlay(createObject("Placemark", new YMaps.GeoPoint(33.507157,44.580861), "constructor#pmlbmPlacemark", "Hand made ")
 map.addOverlay(createObject("Placemark", new YMaps.GeoPoint(33.509091,44.573326), "constructor#pmlbmPlacemark", "Столярная мастерская братьев Поповых ")

 function createObject (type, point, style, description) {
 var allowObjects = ["Placemark", "Polyline", "Polygon"],
 index = YMaps.jQuery.inArray( type, allowObjects),
 constructor = allowObjects[(index == -1) ? 0 : index];
 description = description || "";
 
 var object = new YMaps[constructor](point, {style: style, hasBalloon : !!description}
 object.description = description;
 
 return object;
 }


 
 
 
 // Добавляем метку в центр карты
 var placemark = new YMaps.Placemark(map.getCenter(), {draggable: 1, hasBalloon: 0}
 
 // Динамически формируем урл
 YMaps.Events.observe(map, [map.Events.Update, map.Events.MoveEnd, map.Events.ChangeType], setUrlParams);
 YMaps.Events.observe(placemark, placemark.Events.PositionChange, setUrlParams);
 
 // Функция для формирования параметров в URL'е
 function setUrlParams(obj) {
 // Включаем установку параметров после загрузки всего скрипта
 if (!flagLoad) {
 return;
 }
 document.location.hash = '#ll=' + map.getCenter().toString() + 
 '&z=' + map.getZoom() + 
 '&mt=' + map.getType().getLayers().toString() ;
 }
 
 var hash = document.location.hash;
 if (hash) { // Если строка параметров определена
 var hash = hash.substr(1, hash.length - 1).split('&'), // Отрезаем первый символ "#" и 
 // разбиваем строку на подстроки параметр=значение
 params = {}; // Объект будущих параметров
 
 for (var i = 0, l = hash.length, param; i < l; i++) {
 param = hash[i].split('='); // Разбиваем параметр на имя и значение
 if (param[0] && param[1]) {
 params[param[0]] = param[1];
 }
 }
 
 // Если в урле заданы необходимые параметры
 if (params.ll && params.z && params.mt && params.p) {
 // Определяем тип карты
 var mapType = YMaps.MapType.MAP;
 switch (params.mt) {
 
 case 'map':
 mapType = YMaps.MapType.MAP;
 break;
 
 case 'sat':
 mapType = YMaps.MapType.SATELLITE;
 break;
 
 case 'hyb':
 mapType = YMaps.MapType.HYBRID;
 break;
 }
 // Центрируем карту в нужном месте
 map.setCenter(YMaps.GeoPoint.fromString(params.ll), params.z, mapType);
 
 
 }
 }
 
 // Скрипт загружен, все параметры из URL'a применены
 flagLoad = 1;
 
}

 </script> 
</head> 
 
<body> 
 <div id="YMapsID" style="width:800px;height:600px"></div> 
</body> 
 
</html>

 

1 комментарий
API 1.x
12 апреля, вебинар API Яндекс.Карт
Карты
4 апреля 2012, 14:49

Дорогие друзья!

Приглашаем вас на вебинар «Как улучшить сайт с помощью карт: практические советы и примеры», который состоится в четверг, 12 апреля, с 11:00 до 12:00 (по московскому времени).

К сожалению, регистрация закрыта — число участников на вебинарах ограничено, на мероприятие уже зарегистрировалось максимально возможное количество человек. В следующем месяце мы планируем еще один вебинар Яндекс.Карт — подпишитесь на нашу рассылку анонсов, чтобы узнать о нём заранее.

В ходе вебинара мы:
— расскажем о возможностях API Яндекс.Карт;
— поделимся идеями использования карт для разных типов сайтов;
— дадим советы, как упростить работу службы доставки интернет-магазина;
— расскажем, какие дополнительные геоинформационные сервисы можно создавать на порталах;
— научим пользоваться инструментами, с помощью которых можно самостоятельно, без привлечения технического специалиста, создать карту и разместить ее на своем сайте.

Также мы разберем конкретные примеры внедрения карт на различных сайтах и ответим на вопросы, которые вы сможете задать в чате вебинара.

Вебинар будет интересен:
— владельцам и менеджерам интернет-проектов (магазинов, порталов, корпоративных сайтов),
— интернет-маркетологам;
— всем тем, кто размышляет над повышением эффективности сайта.

Докладчик — Екатерина Текунова, менеджер по маркетингу API Яндекс.Карт.

На вебинаре не будут рассматриваться технические аспекты использования API и другие вопросы, которые непосредственно касаются разработки.

Если вы хотите получать анонсы мероприятий Яндекса для бизнеса, подпишитесь на нашу новостную рассылку.

Вебинар — это онлайн-семинар, на котором вы можете присутствовать, не выходя из дома или офиса, просто подключившись к сети.

Для участия в вебинаре вам потребуются: компьютер со стабильным подключением к интернету, колонки или наушники.

Вопросы о вебинаре вы можете задать через
форму обратной связи.

 

12 апреля, вебинар API Яндекс.Карт

Дорогие друзья!

Приглашаем вас на вебинар «Как улучшить сайт с помощью карт: практические советы и примеры», который состоится в четверг, 12 апреля, с 11:00 до 12:00 (по московскому времени).

К сожалению, регистрация закрыта — число участников на вебинарах ограничено, на мероприятие уже зарегистрировалось максимально возможное количество человек. В следующем месяце мы планируем еще один вебинар Яндекс.Карт — подпишитесь на нашу рассылку анонсов, чтобы узнать о нём заранее.

В ходе вебинара мы:
— расскажем о возможностях API Яндекс.Карт;
— поделимся идеями использования карт для разных типов сайтов;
— дадим советы, как упростить работу службы доставки интернет-магазина;
— расскажем, какие дополнительные геоинформационные сервисы можно создавать на порталах;
— научим пользоваться инструментами, с помощью которых можно самостоятельно, без привлечения технического специалиста, создать карту и разместить ее на своем сайте.

Также мы разберем конкретные примеры внедрения карт на различных сайтах и ответим на вопросы, которые вы сможете задать в чате вебинара.

Вебинар будет интересен:
— владельцам и менеджерам интернет-проектов (магазинов, порталов, корпоративных сайтов),
— интернет-маркетологам;
— всем тем, кто размышляет над повышением эффективности сайта.

Докладчик — Екатерина Текунова, менеджер по маркетингу API Яндекс.Карт.

На вебинаре не будут рассматриваться технические аспекты использования API и другие вопросы, которые непосредственно касаются разработки.

Если вы хотите получать анонсы мероприятий Яндекса для бизнеса, подпишитесь на нашу новостную рассылку.

Вебинар — это онлайн-семинар, на котором вы можете присутствовать, не выходя из дома или офиса, просто подключившись к сети.

Для участия в вебинаре вам потребуются: компьютер со стабильным подключением к интернету, колонки или наушники.

Вопросы о вебинаре вы можете задать через форму обратной связи.

 

Нет комментариев
вебинар,API 1.x
Определение высоты точки над уровнем моря
sony-vetal
4 апреля 2012, 15:32

Здравствуйте. Можно ли стандартными средствами API Яндекс.Карт определить высоты (над уровнем моря) точек маршрута (YMaps.Route)?

24 комментария
API 1.x
Промежуточные точки полигона
Артур Покрашенко
4 апреля 2012, 18:45

Имеется полигон с небольшим количество точек, к примеру, десятью. В режиме редактирования между вершинами отображаются промежуточные (полупрозрачные) точки. Когда я их перетаскиваю, вместо нее создается новая вершина полигона и еще две новые промежуточные точки - стандартный функционал. 

Вопрос вот в чем: как сделать так, чтобы промежуточные точки не отображались на стороне полигона, если растояние между двумя вершинами небольшое? А при увеличении карты (zoom) расстояние между этими двумя вершинами становится больше - и тогда уже можно отобразить промежуточную точку?

.

Спасибо.

3 комментария
API 1.x
Как вставить значения координат из YMaps.Geocoder("...")
sega-zav
5 апреля 2012, 01:13

Ребята помогите, пожалуйста, разобраться (плохо разбираюсь в JS)!

Как в качестве статичных значений широты и долготы (37.64, 55.76) установить значение YMaps.Geocoder("...."), чтобы в дальнейшем можно было менять адрес, а данные автоматически подставлялись в координаты центра карты и координаты метки на карте.

 

Вот код моей карты:

 

<script type="text/javascript">
        window.onload = function () {
            var map = new YMaps.Map(document.getElementById("YMapsID")
            var geocoder = new YMaps.Geocoder("Москва, мясницкая, 18"); // Преобразовываем адрес в координаты
            map.setCenter(new YMaps.GeoPoint(37.64, 55.76), 14); // Задаем центр отображения карты и масштаб
            map.enableScrollZoom(Object); // Подключаем зум колесиком мыши
            map.addControl(new YMaps.TypeControl() // Подключаем отображения типов карты (схема, спутник, гибрид)
            map.addControl(new YMaps.Zoom() // Подключаем вертикальную линейку зума
            map.addControl(new YMaps.SearchControl() // Подключаем поиск по карте
            var placemark = new YMaps.Placemark(new YMaps.GeoPoint(37.64, 55.76), {style: "default#bluePoint"} // Задаем координаты и стиль метки
            placemark.setIconContent("Заголовок объявления"); // содержимое метки
            placemark.name = "Заголовок объявления"; // Устанавливает содержимое балуна
            placemark.description = "Краткое описание или картинка";
            map.addOverlay(placemark); // Выводим метку на карту
        }
    </script>

 

 

 

 

 

4 комментария
API 1.x
Как изменить поиск на карте?
sega-zav
6 апреля 2012, 11:58

Подскажите, пожалуйста, как изменить код поиска на карте map.addControl(new YMaps.SearchControl() , чтобы запрашиваемый адрес выводился в центре карты в масштабе 15 и вообще без показа маркера и балуна?

 

5 комментариев
API 1.x
Проконсультируйте пожалуйста с зоной покрытия Мегафон
iMACTEPru
6 апреля 2012, 23:58

Есть такая карта: http://moscow.megafon.ru/help/coverage/

Возможно ли такую же карту вставить на свой сайт, оставив только карту "3g"?

Там я так понимаю все сделано с помощью "окружностей", возможно ли увеличить радиус таких окружностей?

1 комментарий
API 1.x
Координаты маршрута статически
hippout
7 апреля 2012, 04:39

Возможно ли каким-то образом статически (по HTTP) узнать координаты ломанной маршрута из точки А в точку Б для дальнейшего построения линии маршрута на статической картинке?

1 комментарий
API 1.x
Как узнать из обработчика события, какое тип события его вызвал?
Дмитрий Сухоносов
7 апреля 2012, 13:04
В функцию YMaps.Events.observe можно передавать массивов типов событий, например, так:

YMaps.Events.observe(map, [map.Events.MouseUp, map.Events.DragEnd], function (map, param)
{
  //Get type ?
} ) ;

Как внутри обработчика узнать, какой именно тип события (MouseUp или DragEnd) привел к вызову обработчика?
2 комментария
API 1.x
Подскажите пожалуйста как задать placemark.description для метки в группе
Ant118126
7 апреля 2012, 21:04

Здравствуйте!

Группа не совсем стандартна, пример:

 

// Группы объектов

            var groups = [              

                    createGroup("Авиабилеты", [

createPlacemark(new YMaps.GeoPoint(37.892162,55.712162), "Null"),

placemark = new YMaps.Placemark(new YMaps.GeoPoint(37.893235,55.71118), {style: avia2_d}),  

], avia2)

Нужно для второй метки для которой используется свой стиль задать описание метки!

 

Не соображу никак как это сделать!

3 комментария
API 1.x
Как задать вершины в YMaps.Polyline с помощью адреса?
koresh-111
7 апреля 2012, 21:44
Дана некотрая ломанная, к примеру...
var pl = new YMaps.Polyline([ new YMaps.GeoPoint(37.7,55.7), new YMaps.GeoPoint(37.7,55.8), new YMaps.GeoPoint(37.8,55.8), new YMaps.GeoPoint(37.8,55.7), new YMaps.GeoPoint(37.7,55.7) ]); map.addOverlay(pl);
Необходимо чтобы вершины ломанной задавались с помощью адреса, а не координатами
1 комментарий
API 1.x
Closure Compiler Extern для яндекс карт
lamer5000
7 апреля 2012, 22:43

Приветствую.

Не занимался ли кто генерацией extern-а (https://developers.google.com/closure/compiler/docs/api-tutorial3) для API яндекс карт?

API большое и всем понятно, что вручную такой extern поддерживать нереально.

2 комментария
API 1.x