2013-02-05 42 views
0

我需要確保用於在Google地圖上繪製線條的LatLng的值,因爲我有一些我曾經做過的工作,我不想讓任何人拷貝它。谷歌地圖 - 保護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 
           }); 
          } 
         }); 
        }); 
       }); 
      } 
     }); 

原來是點可複製的事實,它在客戶端繪製的?

回答

1

只要您在clientSide上渲染該行,就無法確保這些點。只要你創建了一條折線,這條折線就可以被訪問,並且路徑可以被檢索(不管你是否以某種方式加密JSON)。

到目前爲止我看到的唯一方法是服務器端渲染,例如,一個圖像包含覆蓋線或FusionTableLayer(從fusionTable創建的私有訪問)

0

是的,客戶端代碼本質上是不安全和可複製的。比如你爲一個特定的URL發出一個AJAX請求,這個請求會返回一些帶有一系列點的JSON。如果其他人直接訪問該URL,他們將能夠從相同的JSON中獲取這些點。

+0

所以在我的情況下,我如何保護json文件,以便只有我可以得到結果 – mhyassin