Клуб API Карт

январь 2016
SuggestView - парсер адреса
alexeyp0708
3 января 2016, 01:24

Очень НУ прям очень угнетает такая ситуация:
Насколько знаю   SuggestView - не выдет массив данных адреса , так сказать распарсеный.

например есть такой результат выданый согласно SuggestView 
Россия, Свердловская область, Екатеринбург, улица Московска,225/3
так вот такой адрес можно распарсить но когда знаешь порядок или др свойства адреса. Но вот и у города и у дома нет дополнительных свойств например приставка страна - страна Россия, город - город Екатеринбург,  дом - дом 225/3. Т.е. чтобы полное название было таким 
страна Россия, Свердловская область, город Екатеринбург, улица Московская, дом 225/3.
При этом 
Россия, Свердловская область, Екатеринбург, Московская улица, 225к1  - уже корпус пишется не через слеш а через букву к? Допустим что это допустимо, но где гарантии что в дальнейшем будет прописано иначе. Может кто то вообще пропишет через пробел.  

Да и порядок не всегда предугадаешь например 
Россия, Челябинская область, городской округ Миасс, поселок Новотагилка 
или
Россия, Челябинская область, Красноармейский район, село Миасское 

или 
Россия, Волгоград, Красноармейский район  

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

Для чего это нужно? да чтобы програмный код мог спокойно мог унифицированно парсить адрес. например спокойно находить город и дом.
ведь Moscow - может находиться и в мичигане. 

В большенстве случаев нет четкой стантартицации прописания адреса.
Например SuggestView выдает адрес - Россия, Краснодар, улица 40 лет Победы  - при  этом не выдает что является Краснодарским краем. А в Краснодарском крае уже не найдешь Краснодар. 
При этом что тот же адрес Россия, Свердловская область, Екатеринбург - выдает область присутствия города. По своей суте это очень не правильно. Так как это в дальнейшем будет тормозить развитие програмного кода. Когда есть четкая унификация прописания адреса - то запросы и к яндекс сервесам становятся проще и обработка будет таких адресов без ошибочна.


Вы скажете яндекс не преднозначен для парсинга адреса, и по другому никак - но сервис должен быть наглядно юзабилитен програмистами - иначе не составит весомой конкуренции в будущем. Nokia 
тоже была весой корпорацией, но сожрала эту компанию не поворотливость! 

3 комментария
YandexMap под android
DMX1988
5 января 2016, 22:05

Скажите пожалуйста есть ли возможность использоватья карты под андройд и имется ли какая нибудь максимально полная документация?

1 комментарий
Сплющенные иконки меток подключённого KML
cycler
7 января 2016, 00:11

Никак не получается задать размер иконкам подключённого KML.

Родные иконки имеют размер 32*37px, однако выводятся с размерами наоборот - 37 на 32.

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

res.geoObjects.options.set('iconImageSize', [32, 37]);
collection[id] = new ymaps.GeoObjectCollection({}, {
            iconImageSize: [32, 37]
        });

 


Рабочий пример здесь - http://kirillaristov.com/map/yandex/2014+-camps.kml
KML - http://kirillaristov.com/kml-files/2014+-camps.kml
файлы иконок - http://kirillaristov.com/kml-files/files/

Пожалуйста, подскажите, что я делаю не так?

Аналогичное поведение было в версии api 2.0 (сейчас 2.1), раньше решал заданием правильных размеров через css и !important.
3 комментария
KML,placemark,icons,iconImageSize,иконки,Метки
оффлайн режим. текст на карте
tsukanoff.volodya
8 января 2016, 00:46

Добрый день.

Подскажите пожалуйста.

Есть идея ипользовать Yandex карты + API в мобильном приложении (eg Android).

1. Могу ли я испльзовать Yandex карты + API в оффлайн режиме (например за деньги)?

2. На карте нет необходимых мне названий "улиц" могу ли я с помощью API или других средств нанести эти названия? (например в платной версии API)


Спасибо за ответ. Жду с нетерпением.

7 комментариев
Визуализация объектов разных типов при кластеризации
Александр
10 января 2016, 02:12

Добрый день!

Подскажите, есть ли возможность при объединении меток с неким отличительным признаком в один кластер визуально отображать сколько меток какого типа в этом кластере находится. Для примера привожу скриншот с сайта cian.ru:

 

На указанном сайте это реализовано своими силами, путем динамического формирования SVG-картинки с использованием в качестве метки. Было бы очень здорово, если бы Вы реализовали аналогичную визуализацию на уровне своего API. Думаю найдется немало людей, которым данный функционал поможет лучше визуализировать данные.

3 комментария
коллекция гео обектов
Сергей Фирсов
10 января 2016, 19:52

<html><head>

    <script src="http://api-maps.yandex.ru/2.1/?lang=ru_RU" type="text/javascript"></script>

 

<script type="text/javascript">

var map;

     var myCollection = new ymaps.GeoObjectCollection();

    ymaps.ready(unit);

function unit () {

    map = new ymaps.Map("tab", {

            center: [55.751574, 37.573856],

            zoom: 17

        });

 

 

};

 

</script></head>

<body>

    <div id="tab" style="height:90%; weight:100%;"></div>

     <script type="text/javascript"> 

 

          ymaps.ready(unit2);

         function unit2 () {

         myCollection.add(new ymaps.Placemark([55.790139, 37.814052], {

            balloonContent: 'Местоположение пользователя'

        }, {

            preset: 'islands#circleDotIcon',

            iconColor: '#1faee9'

        }));

         map.geoObjects.add(myCollection);};

    </script>

    </body>

</html>

 

жалуется на обявление коллекции и на добавление в неё объектов(6 и 24 строчка)

в чём проблема?

7 комментариев
метка,API 2.1
Выделение активной метки
fotoles13
11 января 2016, 11:43

Добрый день!

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

Использую стандартные стили.

Сечас сделал вот так: посмотреть ссылку в новом окне

Данные берутся из json.

 



клик по метке
        myPlacemark.events.add('click', function (e) {
замена стиля по клику
       e.get('target').options.set('preset', 'islands#greenIcon');
6 комментариев
метка,API 2.1,события
не подскажете в каком стандарте у вас задаются цвета
plavsky.denis
11 января 2016, 13:05

не подскажете в каком стандарте у вас задаются цвета?Встретил вот такой "FF9911".Но это же не rgb

1 комментарий
Определение принадлежности точки с определенными координатами полигону Object Manager'а
Artem Izmest'ev
13 января 2016, 05:22

Доброго времени суток.

Собственно, сабж.

Добавляю объекты в менеджер через асинхронный запрос к JSON.

Осуществляю поиск через стандартный SearchControl - получаю результат.

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

Спасибо.

2 комментария
contains,API 2.1,ObjectManager
Задание балуна
plavsky.denis
13 января 2016, 12:22

Если разрушить баллун через destroy() в маршрутах,то как его опять включить?

Нет комментариев
Кто подскажет SuggestView имеет ограничения по запросам!
alexeyp0708
13 января 2016, 15:32

Кто подскажет SuggestView  имеет ограничения по запросам как и геокодер, Или всетаки число обращений с запросами на поиск адресов не ограничено? 

1 комментарий
Отключения баллуна у маршрута
plavsky.denis
13 января 2016, 15:42

Пробую отключить баллун у маршрута вот так

 currentRoute.getPaths().events.add('balloonopen', function (e) {

                    e.preventDefault();

                  

                } ); не выходит в чем причина? 

1 комментарий
Вешается карта
webolution
13 января 2016, 18:05

objectManager.clusters.events.add('add', function (e) {
var cluster = objectManager.clusters.getById(e.get('objectId')),
objects = cluster.properties.geoObjects;
if (objects.length > 20) {
objectManager.clusters.setClusterOptions({
preset: 'islands#redClusterIcons'
});
}
});

обрабатываю кластеры как из примера (после загрузки json) 
в первый init все ок без ошибок
меняю местоположение (bounds) карта зависает
ошибка
Uncaught TypeError: Cannot read property 'getCurrentState' of null

что это может быть?

убираю эту обработку все норм 

4 комментария
как увеличить площадь полигона
denni ska
14 января 2016, 15:23

сделали полиган по мкад. но  нужно  прибаваить к этому полигону зону 10 километров по всему периметру, есть предложение что  по каждой точке координат добавить "circle" но говорят что не сработает. как увеличить площадь полигона на определенное расстояние ?

1 комментарий
Как поделится картой?
KROMY44
14 января 2016, 16:28

Я создал "мою карту" с несколькими метками и пояснениями. Могу я передать копию своему товарищу, чтоб он редактировал карту без моего участия со своего аккаунта? Как это сделать?

 

3 комментария
Изменение местоположения объектов, загруженных через ObjectManager
Александр Семенов
14 января 2016, 19:28

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

Как выглядит корректный способ изменения местоположения объекта, загруженного в ObjectManager?

Игры с оригинальным объектом (objectManager.objects.getById(this.id)) или его оверлеем пока приводят лишь к частичным результатам.

 

1 комментарий
API 2.1,ObjectManager
Как изменить coordinates в iconShape программно?
Денис Артемьев
14 января 2016, 21:26
Здравствуйте, изначально задаю следующие параметры:

iconShape
: {
    type: 'Polygon',
coordinates: [
[[-58, -126], [58, -126], [58, -20], [12, -20], [0, 0], [-12, -20], [-58, -20]]
]
},
iconOffset: [0, 0],

Далее, если из кода нужно изменить значение, то делаю:
geoObjects[n].options.set('iconOffset', [0, 0]);

А как изменить iconShape -> coordinates ?

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

 

Нет комментариев
Ошибка геолокации с мобильного браузера с выключенным WiFi
crn
15 января 2016, 16:36

В API 2.0 по ymaps.geolocation проблем нет, но в API 2.1 по IP (провайдер 'yandex') показывает неверные координаты, а режимы {provider: 'browser'} и {'provider: auto'} не работают (хотя 'auto' должен работать всегда?!). Но при этом всем navigator.geolocation браузера показывает верные координаты! Настройки геолокации браузера проверены. У коллег тоже самое.

 

Вот результат:

... старт:

определение по IP:[51.691219,81.11363]

определение по navigator.geolocation:[54.8625062,83.0897644]

ошибка определения по auto:"Not found"

ошибка определения по browser:"Not found"

 

Вот код:

function init() {

$('body').append('старт:' + '<br>')

         

    ymaps.geolocation.get({

        provider: 'yandex'

    }).then(

   function (result) {

   var html = JSON.stringify(result.geoObjects.position);

   $('body').append('определение по IP:' + html + '<br>')

    

    },

   function(err){

   var html = JSON.stringify(err);

   $('body').append('ошибка определения по IP:' + html + '<br>')

   }

    );

 

    ymaps.geolocation.get({

        provider: 'browser'

    }).then(

   function (result) {

   var html = JSON.stringify(result.geoObjects.position);

   $('body').append('определение по browser:' + html + '<br>')

    },

   function(err){

   var html = JSON.stringify(err);

   $('body').append('ошибка определения по browser:' + html + '<br>')

   }

    );

    

    ymaps.geolocation.get({

        provider: 'auto'

    }).then(

   function (result) {

   var html = JSON.stringify(result.geoObjects.position);

   $('body').append('определение по auto:' + html + '<br>')

    

   },

   function(err){

   var html = JSON.stringify(err);

   $('body').append('ошибка определения по auto:' + html + '<br>')

   }

    );

    

    navigator.geolocation.getCurrentPosition(

    function(result){

var crd = result.coords;

var html = '[' + crd.latitude + ',' + crd.longitude + ']';

$('body').append('определение по navigator.geolocation:' + html + '<br>')

    }, 

   function(err){

   var html = JSON.stringify(err);

   $('body').append('ошибка определения по navigator.geolocation:' + html + '<br>')

   }, 

   {}

    );

 

}

ymaps.ready(init);

 

Куда копать? Не хотелось бы делать navigator.geolocation -> геокодирование по полученным координатам

6 комментариев
API 2.1,API 2.0,геокодирование
Странное поведение кластеризатора при масштабировании
Макс
17 января 2016, 17:35

Достаточно простая задача - отображение на карте данных из файла CSV. Метки грузятся, кластеризация отрабатывает. Но на определенном масштабе при приближении карты метки начинают исчезать с карты, хотя в другом масштабе эти же метки кластеризуются, то есть на карте они точно есть. Что я только не делал -  использовал и clusterer, и ObjectManager, и разные версии api, и с параметрами кластера эксперементировал, - ничего не помогает. Браузер - Chrome, меток около двух тысяч. Загрузка точек через файл CSV - крайне желательное условие, мне надо, чтобы данные можно было обновить из экселевской таблички с минимумом усилий и с этим справился обычный пользователь.

Вот моя страница http://krs.pe.hu/map.html  Там видны закоменченные следы моих экспериментов, жду любых дельных советов, как сделать, чтобы все метки отображались при любом масштабе карты.

1 комментарий
кластеризатор,API 2.1
не ставится placemark
Сергей Фирсов
17 января 2016, 18:08

почему метка не ставится?

 

координаты приходят, вот такого формата: [55.751574, 37.573856]

ymaps.ready(func);

function func() {

var x = new XMLHttpRequest();

ymaps.ready(f);

function f() {

x.open("GET", "http://proverkavelobar.esy.es/pos.php?login=DdyKNQ9FNQDnB9YifiY2&password=59FyAhtHt782KFninDZy", true);

x.onload = function (){

alert(x.responseText);

map1.geoObjects.add(new ymaps.Placemark( x.responseText, { balloonContent: "Местоположение пользователя" }, { preset: "islands#circleDotIcon", iconColor: "#1faee9" })); }

x.send(null);

timerId01=setTimeout(function(){f();},10000); } }

2 комментария