exdude
@exdude

Как подделать местоположение yandex API?

Есть код определяющий местоположение посетителя сайта, и выводим его в созданный блок:
ymaps.ready(init);
	function init(){
	  ymaps.geolocation.get({
		  provider: 'yandex',
		  autoReverseGeocode: true
	  }).then(function (result) {
		  $('#urcity').html('Ваш город: <b style="margin-top: -50px;">'+result.geoObjects.get(0).properties.get('metaDataProperty.GeocoderMetaData.AddressDetails.Country.AdministrativeArea.SubAdministrativeArea.Locality.LocalityName')+'</b>');
	  });
	}


А так же карта, которая так же определяет местоположение пользователя:

function init() {
    var geolocation = ymaps.geolocation,
        myMap = new ymaps.Map('map', {
            center: [55, 34],
            zoom: 10
        }, {
            searchControlProvider: 'yandex#search'
        });
    geolocation.get({
        provider: 'yandex',
        mapStateAutoApply: true
    }).then(function (result) {
        result.geoObjects.options.set('preset', 'islands#redCircleIcon');
        result.geoObjects.get(0).properties.set({
            balloonContentBody: 'Мое местоположение'
        });
        myMap.geoObjects.add(result.geoObjects);
    });

    geolocation.get({
        provider: 'browser',
        mapStateAutoApply: true
    }).then(function (result) {
        result.geoObjects.options.set('preset', 'islands#blueCircleIcon');
        myMap.geoObjects.add(result.geoObjects);
    });
}


Возможно ли с помощью скрипта изменить переменную определяющий город, что бы в последствии и карта и город сменились на выбранную посетителем?
Данный функционал уже реализован костылями, методом изменения города в самом блоке, и создании новой карты. Так как городов много, и код на 160000 строк совсем не айс.
Поэтому прошу помощи или подсказки на реализацию.
  • Вопрос задан
  • 556 просмотров
Решения вопроса 2
sinneren
@sinneren
я может не так понимаю проблему, но...
при инициализации:
center: [55.74954, 37.621587],
или
ymaps.util.bounds.getCenterAndZoom(
[[55.7, 37.6], [55.8, 37.7]],
[$mapElement.width(), $mapElement.height()]
)
или
center: res.geoObjects.get(0).geometry.getCoordinates(),

или постфактум:
setCenter(center[, zoom[, options]])
https://tech.yandex.ru/maps/archive/doc/jsapi/2.0/...
Ответ написан
deepblack
@deepblack
function setCenter () {
    myMap.setCenter([57.767265, 40.925358]);
}


https://tech.yandex.com/maps/jsbox/2.1/mapparams
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы