|
Яндекс карты. Построение линии. | ☑ | ||
---|---|---|---|---|
0
Jimmo910
15.01.20
✎
16:53
|
Народ. Наверника кто-то делал...
Есть массив координат [54.5868082756026,29.3774635490419], [51.5723517764561,19.7469669911982], [56.5851226746375,35.7324343548145], [44.5878309713286,29.714940829601], [14.3419666759655,49.7028799716442], ................................... Есть яндекс карта. На которую нужно нанести линию по этим координатам. Координаты постоянно разные прилетают через веб сервис с другова сервера. Не могу разобраться как сделать линию с 'n' точке... ????? Вот код где получаю коодинаты: function sendAjaxForm(ajax_form, url) { jQuery.ajax({ url: url, //url страницы (action_ajax_form.php) type: "POST", //метод отправки dataType: "html", //формат данных data: jQuery("#"+ajax_form).serialize(), // Сеарилизуем объект success: function(response) { //Данные отправлены успешно result = jQuery.parseJSON(response); //цикл который обойдент массив координат var mas = Array(); var coordinat=''; for (var i = 0; i < result.length; i++) { var zap = ''; zap = (i == result.length-1) ? ' ' : ', '; mas[i] = new ymaps.geometry.Point([result[i].shirot, result[i].dolg]); coordinat += '['+result[i].shirot+', '+result[i].dolg+']'+zap; } myMap = new ymaps.Map("map", { center: [22.2456441607053, 49.6421453568540], zoom: 11 }); polyline = new ymaps.Polyline(mas); ///////----- КАК СУДА ПЕРЕДАТЬ БОЛЬШЕ КОЛИЧЕСТВО ТОЧКЕ?????? ------------//////////////////// myMap.geoObjects.add(polyline); myMap.setBounds(polyline.geometry.getBounds());//позицианируемся на линиях myMap.container.enterFullscreen();//открываем карту на весь экран }, error: function(response) { // Данные не отправлены alert('Ошибка. Данные не отправленны.'); } }); } |
|||
1
Garikk
15.01.20
✎
17:00
|
(0) БОЛЬШЕ --- это сколько? у вас туда и так массив точек передается
== shirot... dolgot....рукалицо |
|||
2
Кодер
15.01.20
✎
17:32
|
Узнайте цену API яндекса. Недавно они поменяли цену, дорисовав нулей, экстренно меняли завязанные на них инструменты. Можно глянуть OSM.
|
|||
3
Jimmo910
15.01.20
✎
17:55
|
(1) Массив-то передается, но не работает. В этом и проблема, что массив вроде как передается но работать не хочет....
|
|||
4
pechkin
15.01.20
✎
17:57
|
нужно
mas.push(new ymaps.geometry.Point([result[i].shirot, result[i].dolg])) |
|||
5
pechkin
15.01.20
✎
17:59
|
а еще лучше
mas = result.map(point => new ymaps.geometry.Point(point.shirot, point.dolg])) |
|||
6
Jimmo910
15.01.20
✎
18:08
|
(4) не работает. [url=https://radikal.ru][img]https://b.radikal.ru/b03/2001/9f/7267be7e8d48.png[/img][/url]
Не факт что "new ymaps.geometry.Point" вообще нужно.... |
|||
7
pechkin
15.01.20
✎
18:14
|
var polyline = new ymaps.Polyline([[-80, 60], [-90, 50], [-60, 40], [-80,
60]] https://tech.yandex.ru/maps/jsapi/doc/2.1/ref/reference/Polyline-docpage/ массив масивво нужен mas = result.map( {shirot, dolg} => [shirot, dolg]) |
|||
8
Jimmo910
15.01.20
✎
18:23
|
(7) так не работает... https://c.radikal.ru/c38/2001/37/312479053eb6.png
|
|||
9
pechkin
15.01.20
✎
18:24
|
(8) цикла не нужно
|
|||
10
pechkin
15.01.20
✎
18:24
|
вместо всего твоего текста одна моя строка
|
|||
11
Jimmo910
15.01.20
✎
18:29
|
(10) все равно. пишет ошибку "Malformed arrow function parameter list" и номер этой строки (mas = result.map( {shirot, dolg} => [shirot, dolg]);)
|
|||
12
pechkin
15.01.20
✎
18:32
|
тогда полный вариант
mas = result.map( function(point){ return [point.shirot, pointdolg]}); |
|||
13
Jimmo910
15.01.20
✎
18:34
|
(12) СПАСИБО!!!! ОГРОМНЕЙШЕЕ!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |