Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 18.04.2017, 12:25
Новичок на форуме
Отправить личное сообщение для Andrej_ka Посмотреть профиль Найти все сообщения от Andrej_ka
 
Регистрация: 18.04.2017
Сообщений: 2

Google Maps Apiv3 - пропорциональное увеличение полигона
Приветствуют уважаемых разработчиков.
Есть вопрос по Google Maps Api v3.
Вот тут
https://jsfiddle.net/5dwqysa9/
есть возможность нарисовать полигон. Но функция расширения полигона не работает как следует - https://www.dropbox.com/s/8vyr30974o...creen.png?dl=0
То есть если мало точек, то расширяет пропорционально нормально, но если более-менее много точек, все плохо идут искажения.
Подскажите пожалуйсто что не так в этой функции
function extendPolygon(distance, polyline) {

        // define number of points
        var numPts = polyline.getPath().getLength();

        // define bounds/borders variable
        var bounds = new google.maps.LatLngBounds();

        // loop through number of points
        for (i=0; i< numPts; i++) {

            // extend bounds/borders
            // TODO: findout exactly how extending? carefult debug
            bounds.extend(polyline.getPath().getAt(i));

        }

        // getting the center of polygon
        var center = bounds.getCenter();

        // define the extended polygon points
        var extendedPolyPts = [];

        // loop through number of points
        for (var i=0; i< numPts; i++) {

            // get heading
            var heading = google.maps.geometry.spherical.computeHeading(center,polyline.getPath().getAt(i));

            // get initialDist
            var initialDist = google.maps.geometry.spherical.computeDistanceBetween(center,polyline.getPath().getAt(i));

            // get extendedDist
            var extendedDist = (initialDist + distance);

            // extended point
            var extendedPt = google.maps.geometry.spherical.computeOffset(center, extendedDist, heading);

            // push extended point to the expended polygon array
            extendedPolyPts.push(extendedPt);
        }

        // if global extendedPoly object exist destroy it
        // if there is input value and it's not empty
        if(!$.isEmptyObject(extendedPoly)) extendedPoly.setMap(null);

        // re-define the extendedPoly polygon on the map
        extendedPoly = new google.maps.Polygon({
            map: map,
            paths:extendedPolyPts,
            fillColor: colors[2],
            strokeWidth:2,
            fillOpacity:0.15,
            strokeColor: colors[2],
            strokeOpacity:0.5,
            draggable: true,
            editable: true
        });

        // copy the locs values to the tmp_locs
        var tmp_locs = locs;

        // rebuild markers on extended poly
        app.markers.rebuild(extendedPoly, polyline);

        // on drag bounds
        google.maps.event.addListener(extendedPoly, 'dragend', function() {

            // rebuild the extended poly
            app.markers.rebuild(extendedPoly, polyline);

        });

        // on mouse up
        google.maps.event.addListener(extendedPoly, 'mouseup', function() {

            // rebuild the extended poly
            app.markers.rebuild(extendedPoly, polyline);

        });

    }

Возможна платная благодарность.
Спасибо.
Ответить с цитированием
  #2 (permalink)  
Старый 19.04.2017, 11:16
Новичок на форуме
Отправить личное сообщение для Andrej_ka Посмотреть профиль Найти все сообщения от Andrej_ka
 
Регистрация: 18.04.2017
Сообщений: 2

Ребята, действительно нет спецов по Google Maps ? Я оплачу труд если будет результат.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Google maps markers удаление маркеров удаляет всю карту Ducol Events/DOM/Window 2 02.09.2016 12:06
Google Maps - ищется алгоритм обхода ремонтных участков дорог stankhat Оффтопик 0 06.02.2015 17:12
Автоматическое увеличение масштаба в Google Maps при загрузке страницы nenado88 jQuery 3 08.08.2014 23:10
Нужен разработчик для интеграции Google Maps на сайт Asar Работа 0 09.02.2014 18:58
JavaScript + Google Maps ahimaskrasavin Элементы интерфейса 5 20.06.2011 13:21