Клуб API Карт

ymaps.geolocation is undefined

Удалённый пользователь
9 июля 2016, 21:56
Здравствуйте! Подскажите, пожалуйста, почему на локальном сервере не возникает такой ошибки, а на тестовом пишет:
ReferenceError: YMaps is not defined
TypeError: ymaps.geolocation is undefined

Код:
function geotargeting() {
    ymaps.geolocation.get({
        // Выставляем опцию для определения положения по ip
        provider: 'yandex',
        // Автоматически геокодируем полученный результат.
        autoReverseGeocode: true
    }).then(function (result) {
        var country = result.geoObjects.get(0).properties.get('metaDataProperty.GeocoderMetaData.AddressDetails.Country.CountryName'), //страна
        area = result.geoObjects.get(0).properties.get('metaDataProperty.GeocoderMetaData.AddressDetails.Country.AdministrativeArea.AdministrativeAreaName'), //регион
        city = result.geoObjects.get(0).properties.get('name'); //город ( внезапно, да =) )
        // Выведем в консоль данные, полученные в результате геокодирования объекта.
        console.log(country); //страна
        console.log(area); //регион
        console.log(city); //город ( внезапно, да =) )
        var geo_arr = [country, area, city];
        $.ajax({
            url: '/ajax/geotargeting',
            type: 'POST',
            data: "geotargeting_arr="+geo_arr,
            success: function(data){
                //var phone = data;
                var text = data+'<br>'+geo_arr[2];
                alert(text);
                $('.header__contact_geo').html(text);
            },
            error: function () {

            }
        });
    });
}

geotargeting();

И вторая часть в отдельном файле:
 

ymaps.ready(init);
var mapStock,
    mapOffice,
    mapStockEkb,
    mapOfficeEkb,
  mapStockPlacemark,
  mapOfficePlacemark,
  mapStockPlacemarkEkb,
  mapOfficePlacemarkEkb;
  YMaps.Style;

function init(){
    mapStock = new ymaps.Map("map-stock", {
        center: [10,35],
        zoom: 16,
        controls: [],
    });

    mapOffice = new ymaps.Map("map-office", {
        center: [134,15],
        zoom: 16,
        controls: [],
    });



    mapStockEkb = new ymaps.Map("map-stock-ekb", {
        center: [125,15],
        zoom: 16,
        controls: [],
    });

    mapOfficeEkb = new ymaps.Map("map-office-ekb", {
        center: [26,35],
        zoom: 16,
        controls: [],
    });

    mapStockPlacemark = new ymaps.Placemark([56.8635223469149,60.60069502513124], {
        hintContent: 'A',
        balloonContent: 'З',
    },{
      preset: 'twirl#redDotIcon',
    });

    mapOfficePlacemark = new ymaps.Placemark([56.82496627282104,60.55226249999993], {
        hintContent: 'A',
        balloonContent: 'улица',
    },{
      preset: 'twirl#redDotIcon',
    });

    mapStockPlacemarkEkb = new ymaps.Placemark([55.63921727762376,37.827697500000006], {
        hintContent: 'A',
        balloonContent: 'МО',
    },{
      preset: 'twirl#redDotIcon',
    });

    mapOfficePlacemarkEkb = new ymaps.Placemark([55.84631977683769,37.65543649999998], {
        hintContent: 'A',
        balloonContent: 'г.Москва',
    },{
      preset: 'twirl#redDotIcon',
    });

    mapStock.controls.add(
      new ymaps.control.ZoomControl()
    );

    mapOffice.controls.add(
      new ymaps.control.ZoomControl()
    );

    mapStockEkb.controls.add(
      new ymaps.control.ZoomControl()
    );

    mapOfficeEkb.controls.add(
      new ymaps.control.ZoomControl()
    );


    mapStock.geoObjects.add(mapStockPlacemark);
    mapOffice.geoObjects.add(mapOfficePlacemark);
    mapStockEkb.geoObjects.add(mapStockPlacemarkEkb);
    mapOfficeEkb.geoObjects.add(mapOfficePlacemarkEkb);
}

Я еще учусь, не исключено, да и скорее всего, ошибка какая-то глупая :(

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