Клуб API Карт

Множественное геокодирование

atitarenkoa
14 декабря 2013, 00:50

Помогите с геокодированием. Задаю явные метки. а вылазит много лишнего.

 

<!DOCTYPE html>
<html>
<head>
    <title>Примеры. Множественное геокодирование</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <script src="//api-maps.yandex.ru/2.0.31/?load=package.full&lang=ru-RU" type="text/javascript"></script>
    <style type="text/css">
html,
body,
#map {
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    font-family: "Arial";
    font-size: 11pt;
}
    </style>
    <script type="text/javascript">
function init() {
    var myMap = new ymaps.Map('map', {
        center: [50.444231, 30.521271],
        zoom: 14,
        behaviors: ['default', 'scrollZoom']
    });
    var objects = ymaps.geoQuery
    var objects = ymaps.geoQuery(ymaps.geocode('Киев, улица Зодчих 64'))
        .add(ymaps.geocode('Киев, улица Королева Академика просп. 8'))
        .add(ymaps.geocode('Киев, улица Булгакова 5'))
        .add(ymaps.geocode('Киев, улица Жмеринская 32'))
        .add(ymaps.geocode('Киев, улица Курбаса Леся 1-б'))
        .add(ymaps.geocode('Киев, улица Королева Академика просп. 12-а'))
        .add(ymaps.geocode('Киев, улица Курбаса Леся 9-г'))
        .add(ymaps.geocode('Киев, улица Кольцова бул. 22'))
        .add(ymaps.geocode('Киев, улица Симиренка 5'))
        .add(ymaps.geocode('Киев, улица Ромена Роллана 4'))
        .add(ymaps.geocode('Киев, улица Кучера Василия 2-а'))
        .add(ymaps.geocode('Киев, улица Зодчих 66'))
        .add(ymaps.geocode('Киев, улица Симиренка 25-а'))
        .add(ymaps.geocode('Киев, улица Тулузы 16'))
        .add(ymaps.geocode('Киев, улица Зодчих 10'))
        .add(ymaps.geocode('Киев, улица Зодчих 34'))
        .add(ymaps.geocode('Киев, улица Жмеринская 22'))
        .add(ymaps.geocode('Киев, улица Гната Юри 18'))
        .add(ymaps.geocode('Киев, улица Ромена Роллана 5-в'))
        .add(ymaps.geocode('Киев, улица Жолудева 4-б'))
        .add(ymaps.geocode('Киев, улица Симиренка 5'))
        .addToMap(myMap);
    objects.then(function () {
        objects.get(0).balloon.open();
    });
}
ymaps.ready(init);
    </script>
</head>
<body>
    <div id="map" />
</body>
</html>

 

15 комментариев
Подписаться на комментарии к посту

Надо указать геокодеру, что нужен один результат

Спасибо. А как указать? ))

Спасибо большое разобрался. Использую в 1С. Он генерирует HTML-код и показывает курьерам адреса доставки на карте. Так им легче разработать маршрут доставки. Раньше делали это вручную.

Получился вот такой код:

 

 

    Примеры. Множественное геокодирование  

   

   

   

 

Согласно пользовательскому соглашению АПИ нельзя использовать в закрытых системах таких как 1С

Я в самой 1С и не использую. 1С только генирирует HTML-код и загружает файл с кодом на хостинг, а там пользователь через свой браузер уже и просматривает. Так можно?

вроде бы да, а есть ссылка посмотреть?

Как таковой ссылки нет. Так как 1С генерируе код, сохраняет его в файле на хостинге и храниться этот файл до тех пор пока открыта форма 1С. После закрытии формы файл удаляеться. Могу скинуть модуль 1С с реализацией этих действий.

Добрый вечер. Согласно пункту 2.3.2. Пользовательского соглашения: "Сервис может использоваться Пользователем только в рамках сайтов или мобильных приложений, доступных для бесплатного открытого использования неограниченным кругом лиц". Таким образом ваша реализация, все-таки, нарушает Пользовательское соглашение, так как файл вы показываете только курьеру.

Андрей, я ж не спорю. Я могу и не удалять сформированые карты. Только кому они нужны будут? Удаляю я их чтоб не засорять хостинг. 

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

Соверешнно верно вам написали ниже. Согласно Пользовательскому соглашению карты созданные при помощи API Яндекс.Карт должы не только отображаться, но и быть общедоступными:

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

Пользовательское соглашени - http://legal.yandex.ru/maps_api/

Настоятельно прошу вас привести сервис в соответствие с Пользовательским соглашением.

А скажите сколько максимально точек можна указывать? А то  попробывал 2500 точек, так они не прорисовались.

если точки одни и теже лучше прогеокодировать их один раз на сервере и хранить координаты

Столкнулся вот с такой проблемой. Есть адрес: Киев, Вишняковская дом 19/19. Яндекс меняет его на Киев, Вешняковская дом 19/19 (буква "е" вместо "и"), а по факту такой улицы нет и метка ставиться в центре Киева. Как быть?

спасибо, я передам разработчикам геокодера