Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- $('#cdek_point_id').change(function() {
- var pointCode = $(this).val();
- $.ajax({
- type: "GET",
- url: 'https://integration.cdek.ru/pvzlist.php',
- contentType: 'application/x-www-form-urlencoded; charset=UTF-8',
- data : { cityid : 320},
- dataType: "xml",
- success: function(result) {
- var points = result.getElementsByTagName("Pvz");
- // в result находится сам xml
- console.log(result);
- // в points находится объект со списками пунктов
- console.log(points);
- ymaps.ready(init);
- function init() {
- var myMap = new ymaps.Map("YMapsID", {
- // Нужно здесь указать координаты выбранного пункта.
- // например, как-то сравнить pointCode с полученным результатом и вывести только
- // координаты из массива где Code == pointCode
- // (Code - это атрибут в ответе xml)
- center: [52.608782, 39.599346],
- zoom: 10
- }, {
- searchControlProvider: 'yandex#search'
- });
- for (i=0;i<points.length;i+=1) {
- // Здесь я уже перебираю пункты и вывожу на карту
- var address = result.getElementsByTagName("Pvz")[i].getAttribute('FullAddress');
- var phone = result.getElementsByTagName("Pvz")[i].getAttribute('Phone');
- var workTime = result.getElementsByTagName("Pvz")[i].getAttribute('WorkTime');
- var info = address + '<br><b>Тел.:</b> ' + phone + '<br><b>Время.:</b> ' + workTime;
- var site = result.getElementsByTagName("Pvz")[i].getAttribute('Site');
- var lat = parseFloat(result.getElementsByTagName("Pvz")[i].getAttribute('coordY'));
- var lon = parseFloat(result.getElementsByTagName("Pvz")[i].getAttribute('coordX'));
- // Создаем геообъект с типом геометрии "Точка".
- var myGeoObject = new ymaps.GeoObject({
- // Описание геометрии.
- geometry: {
- type: "Point",
- coordinates: [lat, lon]
- },
- // Свойства.
- properties: {
- balloonContent: info,
- hintContent: info
- }
- }, {
- // Опции.
- preset: 'islands#blueIcon'
- });
- myMap.geoObjects.add(myGeoObject);
- }
- }
- }
- });
- });
- // Тут получаем координату выбранного элемента
- var point = result.querySelector('[Code=' + pointCode + ']');
- var lat = parseFloat(point.getAttribute('coordY'));
- var lon = parseFloat(point.getAttribute('coordX'));
- var centerPoint = [lat, lon];
Add Comment
Please, Sign In to add comment