Клуб API Карт

Проблема с pl (рисованием ломаной) в StaticAPI

ya-etika
9 июля 2015, 01:22

Всем Привет! Тут пришлось для вывода на печать использовать StaticAPI, дабы вывести карту картинкой и столкнулся с такой проблемой: Я рисую трек авто (пройденый путь) и у меня очень много точек (напр., 404 шт. в одном из заказов). И когда я их передаю через запятую, то мне в ответ приходит "<message>Wrong pl argument</message>". Подумал, что причина кроется в большом количестве точек и нужно использовать "Кодирование вершин ломаной", но опробовав готовое решение для теста https://yandex.github.io/mapsapi-examples-old/html/mappolylineencodepoints.html, наделал много точек, подставил в свой код, то пришла таже ошибка (при меньше количестве точек - ошибки не было). Почему может приходить такая ошибка и что делать? Отправляю через curl post-запросом. Просто карту могу отрисовать, а с ломаной не дается =(

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

В StaticAPI действительно есть ограничения на количество точек в ломанных и полигонах

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

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

Что делать???

Я вижу 2 варианта

1. Простой – попробовать разбить ломаную на несколько.

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

1. Хм... Не представляю, как это можно сделать. Да и количество данных от этого не уменьшиться.

2. Спасибо, интересная мысль, но в сроки не уложусь.

Дело не в количестве данных, а в количестве точек.

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

Согласно документации параметр "pl" может содержать описание нескольких ломаных через тильду "~".

Разбейте ваш трек на 10 ломаных, возможно этот вариант сработает

Простите за невнимательность. Попробовал как Вы сказали:

60.50386,56.8252866,60.5044816,56.8252166,60.50509,56.8252583,60.50635,56.8252733,60.5068783,56.8251833,60.507025,56.8254216,60.5068816,56.8257783,60.5070133,56.82592,60.50903,56.82606,60.5117283,56.8261583,60.5132216,56.826235,60.5144566,56.8262883,60.515425,56.8264616,60.516575,56.8266883,60.5177116,56.82676,60.5191483,56.8268533,60.5206583,56.8269116,60.5219966,56.8269583,60.5231716,56.82701,60.5253533,56.8271183,60.5265216,56.8271583,60.5277933,56.8271883,60.529575,56.8271549,60.5299016,56.8271366,60.529925,56.82712,60.5303416,56.8271,60.53122,56.8270649,60.5338133,56.826935,60.5369799,56.8266966,60.53853,56.826575,60.539875,56.82644,60.542005,56.8261133,60.5429983,56.8259866,60.5435383,56.8258633,60.5435416,56.8254849,60.54342,56.8249533,60.54316,56.824475,60.5425016,56.8240366,60.5418783,56.8236766,60.54029,56.8227716,60.5393366,56.82222,60.5383616,56.8216516,60.5373399,56.8210699,60.5365266,56.8205566,60.5363883,56.82007,60.5368916,56.81965,60.53748,56.819345,60.5378433,56.8191383,60.537665,56.819035,60.5376133,56.8190166,60.5374816,56.8189183,60.5368816,56.81866,60.5360066,56.818295,60.5349383,56.817875,60.53227,56.81747,60.530915,56.8172,60.5295833,56.8168516,60.5279483,56.81643,60.5264233,56.8160566,60.524935,56.8159316,60.5236016,56.81612,60.52248,56.8163283,60.5219399,56.8164166,60.5215266,56.81645,60.5209216,56.8156433,60.5205633,56.814995,60.52022,56.8144149,60.5197516,56.8137366,60.5188616,56.8133933,60.518185,56.813255,60.5178866,56.8132066,60.5178833,56.8132283,60.5177416,56.8131483,60.5174133,56.8131,60.5167133,56.8129316,60.5151083,56.8125199,60.5136816,56.8122016,60.512675,56.8118449,60.51253,56.8115583,60.5127233,56.811195,60.5127016,56.8111366,60.5126583,56.8110416,60.5127933,56.8110666,60.51264,56.8113666,60.512495,56.811595,60.5124083,56.8116633,60.511835,56.81161,60.5094433,56.8109483,60.5081433,56.8104383,60.50719,56.8101833,60.505725,56.8099783,60.5043666,56.8097816,60.50264,56.8095133,60.5006866,56.8092183,60.4987166,56.8089733,60.497605,56.8085933,60.4969983,56.8078933,60.4962933,56.80709,60.49552,56.8062116,60.494805,56.805285~60.4945766,56.80427,60.49438,56.8032766,60.4941616,56.80232,60.494005,56.80138,60.4943716,56.8004533,60.4947216,56.7996633,60.4943933,56.7989533,60.493595,56.79828,60.492685,56.7976066,60.4917466,56.7968949,60.490725,56.7961483,60.48967,56.7953683,60.4875083,56.7938166,60.486465,56.79304,60.4854216,56.7922333,60.484205,56.7913233,60.48316,56.7905183,60.4822883,56.7898633,60.481815,56.7895499,60.4805266,56.7898633,60.479515,56.79006,60.4782,56.7901833,60.4772066,56.79029,60.47606,56.7904083,60.4751433,56.7905066,60.4743016,56.7905916,60.4734766,56.7907116,60.4724366,56.7908466,60.4702066,56.7911583,60.4690399,56.7913366,60.4679633,56.7915216,60.466995,56.7917433,60.4661833,56.7918783,60.465365,56.7919233,60.4635166,56.7919616,60.4629983,56.7919916,60.4629216,56.79199,60.4628516,56.79195,60.46342,56.7919233,60.46472,56.7918933,60.4657583,56.7918583,60.4666066,56.7917566,60.4675833,56.7915716,60.46861,56.7913933,60.4696816,56.7912383,60.47069,56.7910983,60.4716683,56.7909416,60.472625,56.7908133,60.4735633,56.7906783,60.4746283,56.7905566,60.4758233,56.7904483,60.47711,56.7903083,60.4784083,56.7901566,60.4796516,56.79002,60.4807916,56.7897633,60.4816166,56.7895183,60.4821733,56.789645,60.4828183,56.79015,60.4837649,56.79088,60.4848783,56.791745,60.48612,56.7926899,60.4874666,56.7937066,60.48885,56.7947066,60.4901883,56.7956733,60.4914266,56.7965616,60.4926233,56.7974266,60.49375,56.7982633,60.4946733,56.7990616,60.494795,56.7999533,60.4943283,56.8008516,60.49414,56.8017016,60.49435,56.8026616,60.494565,56.8036883,60.4947566,56.8046883,60.4951,56.80563,60.495835,56.80644,60.496545,56.8072333,60.4972333,56.8080266,60.49788,56.8086566,60.4988316,56.8089283,60.5001383,56.80912,60.5016899,56.80936,60.5034333,56.80961,60.505175,56.809845,60.5066633,56.8100216,60.5076533,56.8102183,60.5086466,56.81058,60.5098583,56.8110533,60.5113766,56.8115216,60.513155,56.8119166,60.5150783,56.8123666,60.5166166,56.8127216,60.5174383,56.812805,60.5181733,56.8124633,60.519285,56.8119633,60.5206933,56.811325,60.5222933,56.81063,60.5240633,56.8099433,60.5258916,56.8092383,60.5277883,56.8085333~60.5296533,56.8077783,60.53158,56.8069816,60.5334966,56.8061516,60.5353716,56.8053166,60.5365666,56.80472,60.5371933,56.8040766,60.5376883,56.8035383,60.5377783,56.8033183,60.53732,56.8029466,60.5365766,56.802355,60.5356399,56.8015916,60.5346316,56.8007533,60.5336066,56.7999149,60.5325666,56.7992333,60.5313966,56.7985866,60.5302166,56.7979566,60.52905,56.7973283,60.52784,56.796675,60.5266516,56.7960233,60.5254383,56.7953816,60.5242266,56.7947366,60.5229283,56.79402,60.515085,56.7896933,60.51486,56.7894033,60.5154583,56.7890883,60.5161983,56.7886783,60.5170416,56.7881566,60.5177283,56.7877233,60.51855,56.78731,60.5193933,56.786865,60.52002,56.78652,60.5201566,56.7864733,60.5204766,56.7863033,60.5211283,56.78596,60.5219666,56.7854733,60.5228466,56.78496,60.5234833,56.7847116,60.5242483,56.7850533,60.52518,56.785555,60.526315,56.7861483,60.527415,56.7867183,60.5284016,56.7872583,60.5292733,56.787725,60.5297816,56.7879966,60.529885,56.7880683,60.52987,56.788075,60.5298983,56.788125,60.530215,56.7882333,60.530845,56.7880066,60.5317666,56.7874883,60.5329399,56.7868833,60.53416,56.7861866,60.53544,56.7853783,60.53633,56.7848583,60.5366199,56.784725,60.5366716,56.784705,60.5367066,56.7846516,60.5370866,56.7844266,60.5377216,56.7840566,60.5383016,56.7837333,60.538735,56.7835033,60.5388683,56.7834166,60.5388883,56.783405,60.5392816,56.7832166,60.5401066,56.7827633,60.541145,56.7821683,60.5421133,56.7816333,60.5428816,56.7811933,60.5438133,56.7806733,60.544735,56.780165,60.5460183,56.7794283,60.5484566,56.7780866,60.5497333,56.777375,60.5508533,56.7767383,60.5516233,56.7763133,60.5516216,56.77629,60.5516599,56.776295,60.5515916,56.7760983,60.5509316,56.7757766,60.5499716,56.7752583,60.5488649,56.774625,60.5476966,56.7739983,60.5465716,56.7733683,60.5455083,56.77277,60.54453,56.7722033,60.54364,56.771705,60.5430583,56.7713866,60.542845,56.7712766,60.5428266,56.7712683,60.54272,56.771145,60.5431933,56.7707583,60.5440916,56.7702566,60.5450683,56.7696999,60.5460849,56.7691216,60.5470433,56.7684816,60.5479883,56.7678466,60.548855,56.76726,60.54955,56.766805,60.5501849,56.766865,60.5509866,56.7672216~60.5518133,56.7675816,60.5523916,56.7676966,60.5528183,56.7673183,60.553355,56.7668266,60.553915,56.7663366,60.5545983,56.7657466,60.5554416,56.7652399,60.5565116,56.7650283,60.5576633,56.764825,60.5589066,56.76459,60.5602283,56.764345,60.5615983,56.7640933,60.5629866,56.7638466,60.5642666,56.7636233,60.5654216,56.7634216,60.566565,56.7632216,60.567725,56.7629966,60.568915,56.7627316,60.5694916,56.7625933,60.5697383,56.762545,60.5703416,56.762435,60.571315,56.7623683,60.5725066,56.762345,60.5737733,56.76232,60.5748566,56.7622983,60.57608,56.7623916,60.57716,56.76256,60.57781,56.7626616,60.5782633,56.76272,60.5792083,56.76286,60.5804683,56.7630416,60.5817583,56.7632183,60.58297,56.7633966,60.584055,56.7635683,60.5850066,56.7637133,60.5861416,56.7638733,60.5873683,56.7640699,60.5887083,56.7642533,60.5899216,56.76442,60.5909766,56.7645083,60.5916016,56.7645166,60.59175,56.7645199,60.5917783,56.7645199,60.5919666,56.7645,60.5923116,56.7647183,60.592575,56.7651283,60.59273,56.7653516,60.59288,56.765535,60.5931816,56.7659933,60.5936066,56.766615,60.5940816,56.767335,60.5946033,56.7681333,60.595095,56.7688033,60.5952816,56.7690883,60.5953033,56.7691433,60.5955283,56.7692816,60.5959383,56.7691866,60.5963783,56.76908,60.5970533,56.7689466,60.5978533,56.7687983,60.598505,56.7686633,60.5990133,56.7685433,60.5996766,56.7684016,60.6005016,56.768235,60.601325,56.76807,60.60203,56.76796,60.6024366,56.768005,60.6025083,56.7683483,60.6022133,56.7690633,60.6016366,56.77045,60.60136,56.7710266,60.6012433,56.7713166,60.6017133,56.7714066,60.6028016,56.7715533,60.6042516,56.7717416,60.6058216,56.77195,60.6073033,56.772155,60.6087216,56.77234,60.61003,56.7725216,60.61124,56.7726783,60.6123366,56.77283,60.613255,56.7729583,60.613575,56.7728616,60.6137883,56.7723833,60.6140516,56.7716533,60.6143249,56.77082,60.6145649,56.76998,60.6147449,56.769365,60.6148233,56.7691233,60.6149266,56.7687999,60.61513,56.7683183,60.6155666,56.7680766,60.6161033,56.7679883,60.6172283,56.76785,60.6186933,56.7676333,60.620175,56.7674166,60.6214933,56.7672416,60.6222566,56.7671783,60.6228583,56.7671983,60.6233966,56.7671966~60.6241933,56.7671766,60.6263916,56.76716,60.6274999,56.767145,60.6280116,56.7671483

 

Всё равно отдает wrong pl =(

Ок, сегодня я напишу разработчикам и отпишусь сюда по результатам

Лимиты есть в документации. 100 точек для ломаных в сумме.

А чем вас не устраивает печать через JS-API? Вроде ломаные должны нормально печататься?

И что у вас за проект, есть ссылка?