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);
        });
    }
Возможна платная благодарность. Спасибо.  | 
	
		
 Ребята, действительно нет спецов по Google Maps ? Я оплачу труд если будет результат. 
	 | 
| Часовой пояс GMT +3, время: 18:26. |