2009-07-17 147 views

回答

0

所需的Javascript當然可以包裹在你喜歡用什麼語言,例如見pymaps爲Python示例。雖然pymaps將JS代碼真正地插入到HTML模板中,但如果您正在編寫Web應用程序,則可以選擇在適當的URL上動態提供該JS代碼,並在網頁的<script>標記中使用該URL。

1

是的,寫入文件是一個很好的方法來做到這一點。只需將數據寫入JSON即可。您的文件看起來像:

var map = {waypoints:[...]}; 

然後你就可以這樣做:

for(var i=o; i<map.waypoints.length; ++i) { 
    addWaypoint(map.waypoints[i]); 
} 

其實我用這個方法節點的一些靜態緩存:http://www.trailbehind.com/site_media/javascript/gen/national-parks.js

我們使用一套國家公園很多,所以我們緩存它。但是我們也有一些網址,您可以在這裏動態獲取節點的JSON,例如:http://www.trailbehind.com/map/node/7538973/632/735/

此URL獲取節點7538973的映射,並指定它們的映射的維度(以像素爲單位)。

0

我同意安德魯的回答(+1)。

我想我要補充的唯一一點是,而不是包括一些服務器端生成的JavaScript,你可以使用AJAX請求來獲取該數據。喜歡的東西:

var request = new Request.JSON (url: 'get_some_json.php', 
          onSuccess: function(data) { 
           // do stuff with the data 
          }).get(); 

(這是Mootools AJAX的事情,但你可以使用任何一種AJAX請求的對象)。

編輯ChrisB使有關JSON解析響應和重新閱讀我的回答當然,我沒有讓自己清楚的表現好點。我認爲AJAX請求適合根據用戶交互生成的參數重新請求數據。我想一個示例用例可能是,用戶過濾地圖上顯示的數據。您可以通過AJAX/SJON請求獲取過濾的數據,而不是重新加載頁面。

0

根據您的應用程序的大小,您可能需要考慮打印出純JavaScript。

我有一個使用服務器端集羣的地圖,所以標記更新頻繁。我發現解析JSON標記顯着減慢了應用程序,並且根本沒有必要。

如果速度是一個問題,我建議刪除所有不必要的圖層(JSON,AJAX等)。如果不是,那麼使用JSON就更好了,而且更清晰。