Редактор полигонов Google Map / редактор - PullRequest
0 голосов
/ 23 апреля 2020

Я адаптировал пару скриптов для рисования нескольких полигонов на картах Google. При нажатии кнопки сохранить эти данные сохраняются в БД. это отлично работает но проблема в том, что когда я перемещаю или редактирую полигоны и нажимаю кнопку сохранить, те же данные сохраняются из исходных полигонов. что я хочу, это новые координаты / узлы, которые будут сохранены. что я делаю?

      var ppath = new Array();

                    function initializeDrawer() {

                        var drawingManager = new google.maps.drawing.DrawingManager({
                            drawingMode: google.maps.drawing.OverlayType.POLYGON,
                            drawingControl: true,

                            drawingControlOptions: {
                                position: google.maps.ControlPosition.TOP_CENTER,
                                drawingModes: [

                                    google.maps.drawing.OverlayType.POLYGON
                                    ]},

                            markerOptions: {
                                icon: 'images/car-icon.png'},

                            polygonOptions: {
                                fillColor: '#BCDCF9',
                                fillOpacity: 0.5,
                                strokeWeight: 2,
                                strokeColor: '#57ACF9',
                                clickable: true,
                                editable: true,
                                draggable: true,
                                zIndex: 1}});

                        //  console.log(drawingManager);
                        drawingManager.setMap(map);

                        google.maps.event.addListener(drawingManager, 'polygoncomplete', function (polygon) {

                            for (var i = 0; i < polygon.getPath().getLength(); i++)
                            {

                                ppath.push(polygon.getPath().getAt(i).toUrlValue(6));
                            }
                            ppath.push('|');
                            window.CP.exitedLoop(0);
                            polygonArray.push(polygon);
                        });

                    }

                    google.maps.event.addDomListener(window, "load", initializeDrawer);


             function save_polygon()
                    {

                        alert(ppath);

                        $.ajax({
                            type: "POST",
                            url: '../../../../assets/php/ajax/save_polygon.php',
                            data: {path: ppath, name: $('#polygon_name').val(),pcode: $('#postcode').val(), quoteID: <?php echo $stockID; ?>},
                            dataType: "json"
                        }).done(function (data) {
                            alert(data);
                            check_point(data);
                        });
                    }
...