0

データベースから照会された座標を使用して、Googlemaps にポリラインを描画するプロジェクトがあります。これらの座標は、車の 1 日のルートを示しています。別の日のルートを照会すると、前のルートと衝突します。前のものを削除しようとしたか、マップを null に設定するか、visible プロパティを false に設定しようとしました。しかし、どれも機能しませんでした。他の方法はありますか?ここに私のコードがあります:

drawPath = function () {
    $.ajax({
        type:'POST',
        dataType:'json',
        data:'cmd=getPath&id='+<?php echo $this->input->get('id'); ?>+'&date='+$("#time").val(),
        url: 'index.php/ajax_controller',
        success: function(data) {
            var pathLatLng,nextLatLng;
            var line;
            var gBas=0;
            var dBas=0;
            for (var i = 0; i < data.length-1; i++) {
                var lat1=data[i].LAT1.substring(0,2)+"."+data[i].LAT1.substring(2);
                var lng1=data[i].LNG1.substring(1,3)+"."+data[i].LNG1.substring(3);
                pathLatLng = new google.maps.LatLng(lat1,lng1);
                lat1=data[i+1].LAT1.substring(0,2)+"."+data[i+1].LAT1.substring(2);
                lng1=data[i+1].LNG1.substring(1,3)+"."+data[i+1].LNG1.substring(3);
                nextLatLng = new google.maps.LatLng(lat1,lng1);
                var color="#1BE09E";
                var opacity={opacity: 0.50};

                var path=[pathLatLng,nextLatLng];
                var polyLineOpt={
                    path: path,
                    strokeColor: color,
                    strokeOpacity: 1.0,
                    strokeWeight: 2,
                    geodesic: true,
                    map: map
                }
                line = new google.maps.Polyline(polyLineOpt);
            }
        },
        error:function(){
        }
    });
}

ご覧のとおり、AJAX で座標をクエリします。また、グローバル変数として line を使用しようとしました。

4

1 に答える 1

1

作成されたポリラインを保持する変数を削除すると機能するはずなので、行を削除します。しかし、for ループで多くのポリラインを作成するため、すべてのオブジェクト (ほとんどの場合、配列またはオブジェクト) もどこかにバックアップする必要があります。次に、それらをすべて 1 つのループで削除できます。

于 2012-11-19T22:00:08.907 に答える