yandex maps api

Статус
В этой теме нельзя размещать новые ответы.

tm.weBreath

Постоялец
Регистрация
8 Июл 2015
Сообщения
39
Реакции
15
Всем доброй ночи! Товарищи, подскажите пожалуйста, на основе открытых данных наваял вот такой скрипт...
HTML:
<script type="text/javascript">
    $(document).ready(function() {
      var myMap;

      function initMap()
      {

        var referencePoints = [
            [56.0217,92.8418]
        ],
          viaIndexes = [2];

        var multiRoute = new ymaps.multiRouter.MultiRoute(
        {
          // Описание опорных точек мультимаршрута.
          referencePoints: referencePoints,
          // Параметры маршрутизации.
          params:
          {
            // Ограничение на максимальное количество маршрутов, возвращаемое маршрутизатором.
            results: 1,
            //params: { viaIndexes: viaIndexes }
          }
        },
        {
          pinVisible: false,
          viaPointIconRadius: 7,
          viaPointIconFillColor: "#f63f40",
          viaPointActiveIconFillColor: "#E63E92",
          // Транзитные точки можно перетаскивать, при этом
          // маршрут будет перестраиваться.
          wayPointVisible: false,

          routeStrokeWidth: 2,
          routeStrokeColor: "#f63f40",
          routeActiveStrokeWidth: 4,
          routeActiveStrokeColor: "#f63f40",

          // Автоматически устанавливать границы карты так, чтобы маршрут был виден целиком.
          boundsAutoApply: true
        });
var geolocationControl = ymaps.geolocation,
        // Создаем карту с добавленными на нее кнопками.
        myMap = new ymaps.Map('map',
        {
          center: [56.0217,92.8418],
          zoom: 7,
          controls: ['geolocationControl', 'zoomControl', 'trafficControl', ]
        },
        {
            searchControlProvider: 'yandex#search',
          buttonMaxWidth: 300
        });

        myMap.controls.get('zoomControl')
          .options.set('size', 'small');

        myMap.behaviors.disable('scrollZoom');

        var currentRoute = null;

       
        var sourcePoint =  null;

        geolocationControl = myMap.controls.get('geolocationControl');
        geolocationControl.events.add('locationchange', onGeolocate);

        function onGeolocate(e)
        {
          //clearSourcePoint();
          sourcePoint = e.get('geoObjects')
            .get(0);
          createRoute();
        }

       

       

        function createRoute()
        {
          // Если начальная точка маршрута еще не выбрана, ничего не делаем.
          if (!sourcePoint)
          {
            geolocationControl.events.fire('press');
            return;
          }

          // Стираем предыдущий маршрут.
          clearRoute();

          var routeOptions2 = {
            pinVisible: false,
            viaPointIconRadius: 0,
            viaPointIconFillColor: "#f63f40",
            viaPointActiveIconFillColor: "#E63E92",
            // Транзитные точки можно перетаскивать, при этом
            // маршрут будет перестраиваться.
            wayPointVisible: false,

            routeActiveStrokeWidth: 4,
            routeStrokeColor: "#666666",
            routeActiveStrokeColor: "#00FF00",

            boundsAutoApply: true
          };

          // Создаём маршрут нужного типа из начальной в конечную точку.
          currentRoute = new ymaps.multiRouter.MultiRoute(
          {
            referencePoints: [
                sourcePoint,
                [56.0217,92.8418]
            ],
            params:
            {
              routingMode: 'driving'
            }
          }, routeOptions2);

          // Добавляем маршрут на карту.
          myMap.geoObjects.add(currentRoute);
        }

        createRoute();

        function clearRoute()
        {
          myMap.geoObjects.remove(currentRoute);
          currentRoute = null;
        }

        myGeoObject = new ymaps.GeoObject(
        {
          // Описание геометрии.
          geometry:
          {
            type: "Point",
            coordinates: [56.0217,92.8418]
          },
          // Свойства.
          properties:
          {
            // Контент метки.
            iconContent: 'SUNRISE',
            //hintContent: 'Ну давай уже тащи',

          }
        },
        {
          // Опции.
          //balloonContentLayout: BalloonContentLayout,
          balloonPanelMaxMapArea: 0,
          // Иконка метки будет растягиваться под размер ее содержимого.
          preset: 'islands#redStretchyIcon',
        });

        myMap.geoObjects.add(myGeoObject);
      }

      ymaps.ready(initMap);
      });
    </script>

Но определяет местоположение точки А он не точно мне нужно немного по другому ее определять..

при помощи данного способа

HTML:
ymaps.ready(init);

function init() {
    var geolocation = ymaps.geolocation,
        myMap = new ymaps.Map('map', {
            center: [55, 34],
            zoom: 10,
          controls: ['geolocationControl', 'zoomControl', 'trafficControl', ]
        });

   

    geolocation.get({
        provider: 'browser',
        mapStateAutoApply: true
    }).then(function (hz) {
        // Синим цветом пометим положение, полученное через браузер.
        // Если браузер не поддерживает эту функциональность, метка не будет добавлена на карту.
        hz.geoObjects.options.set('preset', 'islands#blueCircleIcon');
        myMap.geoObjects.add(hz.geoObjects);
    });
}

Знаю что дел на пару строк, но не врубаюсь хоть убейте, может сплю уже просто..
в общем буду премного благодарен...
 
Вопрос решил, точно сплю. Сори! оказывается причина вообще в 3м, скрипт правильный, это о его величество гугл запретил с http показывать точное место положение, проверил на домене с https и все отлично заработало, что называется Гугл забанил,
Всем спасибо, тему можно удалить..
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху