0

我需要保护用于在谷歌地图上画线的 LatLng 值,因为我有一些工作要做,我不希望任何人复制它..

用于绘制线条的点是否对任何人都可见以查看和复制它,还是最终得到保护?

我在 ajax 调用的成功函数中绘制线条:

        var position = new google.maps.LatLng(x, y);
        var myOptions = {
            zoom: 11,
            center: position,
            mapTypeId: google.maps.MapTypeId.ROADMAP
        };
        var map = new google.maps.Map(
            document.getElementById("googlemap"),
            myOptions);

        $.ajax({
            type: "GET",
            dataType: "json",
            url: url,
            success: function (data) {
                $.each(data, function () {
                    $.each(this, function (index, Segment) {
                        $.each(Segment, function () {
                            for (var i = 0; i < Segment.X.length - 1; i++) {
                                var line = new google.maps.Polyline({
                                    path: [new google.maps.LatLng(Segment.Y[i], Segment.X[i]), new google.maps.LatLng(Segment.Y[i + 1], Segment.X[i + 1])],
                                    strokeColor: color,
                                    strokeOpacity: 1.0,
                                    strokeWeight: 2,
                                    map: map
                                });
                            }
                        });
                    });
                });
            }
        });

那么这一点是否可以复制,因为它是在客户端绘制的?

4

2 回答 2

1

只要您在客户端渲染线,您就无法保护这些点。一旦您创建了一条折线,这条折线就可以访问并且可以检索到路径(无论您是否以某种方式加密了 JSON)。

到目前为止,我看到的唯一方法是服务器端渲染,例如包含作为叠加层的线的图像或 FusionTableLayer(从具有私有访问权限的 fusionTable 创建)

于 2013-02-05T13:53:24.347 回答
0

是的,客户端代码本质上是不安全和可复制的。例如,您对特定 URL 发出 AJAX 请求,这将返回一些带有一系列点的 JSON。如果其他人直接访问该 URL,他们将能够从同一个 JSON 中获取积分。

于 2013-02-05T13:37:33.210 回答