Guest User

Untitled

a guest
Dec 15th, 2017
132
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.86 KB | None | 0 0
  1. $('#cdek_point_id').change(function() {
  2. var pointCode = $(this).val();
  3. $.ajax({
  4. type: "GET",
  5. url: 'https://integration.cdek.ru/pvzlist.php',
  6. contentType: 'application/x-www-form-urlencoded; charset=UTF-8',
  7. data : { cityid : 320},
  8. dataType: "xml",
  9. success: function(result) {
  10. var points = result.getElementsByTagName("Pvz");
  11. // в result находится сам xml
  12. console.log(result);
  13. // в points находится объект со списками пунктов
  14. console.log(points);
  15.  
  16. ymaps.ready(init);
  17.  
  18. function init() {
  19.  
  20. var myMap = new ymaps.Map("YMapsID", {
  21. // Нужно здесь указать координаты выбранного пункта.
  22. // например, как-то сравнить pointCode с полученным результатом и вывести только
  23. // координаты из массива где Code == pointCode
  24. // (Code - это атрибут в ответе xml)
  25. center: [52.608782, 39.599346],
  26. zoom: 10
  27. }, {
  28. searchControlProvider: 'yandex#search'
  29. });
  30.  
  31.  
  32. for (i=0;i<points.length;i+=1) {
  33. // Здесь я уже перебираю пункты и вывожу на карту
  34. var address = result.getElementsByTagName("Pvz")[i].getAttribute('FullAddress');
  35. var phone = result.getElementsByTagName("Pvz")[i].getAttribute('Phone');
  36. var workTime = result.getElementsByTagName("Pvz")[i].getAttribute('WorkTime');
  37. var info = address + '<br><b>Тел.:</b> ' + phone + '<br><b>Время.:</b> ' + workTime;
  38.  
  39. var site = result.getElementsByTagName("Pvz")[i].getAttribute('Site');
  40.  
  41. var lat = parseFloat(result.getElementsByTagName("Pvz")[i].getAttribute('coordY'));
  42. var lon = parseFloat(result.getElementsByTagName("Pvz")[i].getAttribute('coordX'));
  43.  
  44. // Создаем геообъект с типом геометрии "Точка".
  45. var myGeoObject = new ymaps.GeoObject({
  46. // Описание геометрии.
  47. geometry: {
  48. type: "Point",
  49. coordinates: [lat, lon]
  50. },
  51. // Свойства.
  52. properties: {
  53. balloonContent: info,
  54. hintContent: info
  55. }
  56. }, {
  57. // Опции.
  58. preset: 'islands#blueIcon'
  59. });
  60.  
  61. myMap.geoObjects.add(myGeoObject);
  62. }
  63. }
  64. }
  65. });
  66. });
  67.  
  68. // Тут получаем координату выбранного элемента
  69. var point = result.querySelector('[Code=' + pointCode + ']');
  70. var lat = parseFloat(point.getAttribute('coordY'));
  71. var lon = parseFloat(point.getAttribute('coordX'));
  72. var centerPoint = [lat, lon];
Add Comment
Please, Sign In to add comment