2010-07-24 66 views
0

得到地理RSS的地理數據,這是我的代碼,具有地理RSS從谷歌地圖rss如何通過谷歌AJAX供稿API

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
    <head> 
    <meta http-equiv="content-type" content="text/html; charset=utf-8"/> 
    <title>Google AJAX Feed API - Simple Example</title> 
    <script type="text/javascript" src="http://www.google.com/jsapi"></script> 
    <script type="text/javascript"> 

    google.load("feeds", "1"); 

    function initialize() { 
     var feed = new google.feeds.Feed("http://maps.google.com/maps/ms?ie=UTF8&hl=zh-CN&vps=1&jsv=259e&msa=0&output=georss&msid=109685068115364659392.00048b5b630141d82b83a"); 

     feed.load(function(result) { 
     console.log(result.feed) 

     }); 

    } 
    google.setOnLoadCallback(initialize); 

    </script> 
    </head> 
    <body> 
    <div id="feed"></div> 
    </body> 
</html> 

,我無法找到關於地理數據螢火蟲,

所以我應該怎麼辦..

感謝

更新:

地理數據(在地理RSS)我想是這樣的:

<georss:point> 
     39.965015 116.362381 
    </georss:point> 

<gml:LineString> 

     <gml:posList> 
     39.992191 116.417938 
     39.968254 116.466698 
     39.939568 116.451591 
     39.959045 116.411079 
     </gml:posList> 
    </gml:LineString> 

這不能獲得使用谷歌AJAX API。

所以我應該怎麼辦..

回答

1

你需要自行加載JSON的XML飼料的例子以便能夠按原樣獲取原始XML Feed。使用JSON訂閱源,它將刪除所有,但刪除標準RSS和Atom標記的,然後轉換爲JSON。

設置結果格式XML作爲

var feed = new google.feeds.Feed("..."); 
feed.setResultFormat(google.feeds.Feed.XML_FORMAT); 

這裏是一個修改的負載功能打印XML命名空間的元素如georss:pointgml:LineString

feed.load(function(result) { 
    var georssNS = "http://www.georss.org/georss"; 
    var gmlNS = "http://www.opengis.net/gml"; 
    var items = result.xmlDocument.getElementsByTagName("item"); 

    for(var i = 0; i < items.length; i++) { 
     // get <georss:point> 
     var georss = google.feeds.getElementsByTagNameNS(items[i], georssNS, "point")[0]; 
     if(georss) { 
      console.log(georss) 
     } 
     // get <gml:LineString> 
     var lineString = google.feeds.getElementsByTagNameNS(items[i], gmlNS, "LineString")[0]; 
     if(lineString) { 
      console.log(lineString); 
     } 
    } 
}); 
0

從谷歌AJAX API代碼園地,工程

http://code.google.com/apis/ajax/playground/?exp=feeds#load_feed

/* 
* How to load a feed via the Feeds API. 
*/ 

google.load("feeds", "1"); 

// Our callback function, for when a feed is loaded. 
function feedLoaded(result) { 
    if (!result.error) { 
    // Grab the container we will put the results into 
    var container = document.getElementById("content"); 
    container.innerHTML = ''; 

    // Loop through the feeds, putting the titles onto the page. 
    // Check out the result object for a list of properties returned in each entry. 
    // http://code.google.com/apis/ajaxfeeds/documentation/reference.html#JSON 
    for (var i = 0; i < result.feed.entries.length; i++) { 
     var entry = result.feed.entries[i]; 
     var div = document.createElement("div"); 
     div.appendChild(document.createTextNode(entry.title)); 
     container.appendChild(div); 
    } 
    } 
} 

function OnLoad() { 
    // Create a feed instance that will grab Digg's feed. 
    var feed = new google.feeds.Feed("http://maps.google.com/maps/ms?ie=UTF8&hl=zh-CN&vps=1&jsv=259e&msa=0&output=georss&msid=109685068115364659392.00048b5b630141d82b83a"); 

    // Calling load sends the request off. It requires a callback function. 
    feed.load(feedLoaded); 
} 

google.setOnLoadCallback(OnLoad); 
+0

嗨brickysam26,看看更新。 – zjm1126 2010-07-24 09:33:03