#FullStauckJavaScript
Контакты
Местоположение
Россия, Новосибирская обл.

Наибольший вклад в теги

Все теги (7)

Лучшие ответы пользователя

Все ответы (4)
  • Как изобразить полигон области или города на yandex картах?

    RomanDillerNsk
    @RomanDillerNsk Автор вопроса
    JavaScript
    Суть задачи: на странице (не важно какой сервис) есть карты и есть input, что бы искать регионы или населенные пункты, ну и так далее, назовем это target. Мне нужно находит координаты target, и рисовать границы target на карте, так или иначе я решил поставленную задачу, через api Яндекс карт:

    ymaps.ready(init);
    
    function init() {
        var myMap = new ymaps.Map('map', {
            center: [55.753994, 37.622093],
            zoom: 9
        });
    
       ymaps.geocode('владивосток', {
            
            results: 1
            
        }).then((res) => {
            
                let  firstGeoObject = res.geoObjects.get(0);
                let coords = firstGeoObject.geometry.getCoordinates();
    
                console.log(coords);
    
                ymaps.borders.load('RU').then((geojson) => {
                    
                   console.log(geojson);
                   
                }, (e) => {
                    
                   console.log(e);
                   
                });
                
            });
    }


    По условиям яндекса можно кэшировать данные на несколько дней, поэтому такое решение можно наверное использовать на своих картах и так далее!!!:))))

    Задача конечно специфичная, но тем не менее может быть кому то пригодится)
    Большое всем спасибо!
    Ответ написан
  • Как получить размер слоя в метрах?

    RomanDillerNsk
    @RomanDillerNsk
    JavaScript
    sumrakx, сначала нужно систему координат поменять. Если вы используете подложку например гугла, и на нее накладываете слой с картинкой, например imageOverlay, то у этого слоя можно получить:

    let one = tile.getBounds()._northEast;
            let two = tile.getBounds()._southWest;


    Это будут координаты углов - северо-запад, и юго-восток, нехитрым способом получите, например северо-восток, а потом можно сделать например вот так:

    getWidthAndHeight(southWest, southEast, northEast) { // получаем длины вертикальной и горизонтальной линии
    
    		this.points = [
    
    			new L.LatLng(southWest[0], southWest[1]),
    			new L.LatLng(southEast[0], southEast[1]),
    			new L.LatLng(northEast[0], northEast[1])			
    
    		];
    
    		this.data.width = +(this.points[0].distanceTo(this.points[1])).toFixed(0);
    		this.data.height = +(this.points[1].distanceTo(this.points[2])).toFixed(0);
    
    	}


    высота и ширина в метрах.
    Ответ написан

Лучшие вопросы пользователя

Все вопросы (15)