私は GeoRSS フィードを持っています。これを jQuery で解析して geoJSON 配列を作成し、それを Leaflet で MapBox マップに追加しようとしています。
GeoRSS を GeoJSON に変換することはできたと思いますが、各アイテムをループする方法がわからないので、マップに追加できます。ループ部分を取り除くと、地図上に 1 つのポイントがプロットされます。これは、RSS フィードからの最新のエントリです。
任意のポインタは非常に高く評価されます!
私が実行しているコードは次のとおりです。
$(document).ready(function(){
$.get('http://shifting-sands.com/feed/', function(rssdata) {
var $xml = $(rssdata);
$xml.find("title").each(function() {
var $this = $(this),
item = {
title: $this.find("title").text(),
link: $this.find("link").text(),
description: $this.find("description").text(),
pubDate: $this.find("pubDate").text(),
latitude: $this.find("lat").text(),
longitude: $this.find("long").text()
}
function displayPosts(rssdata){ $.each(rssdata.rss.channel.item, function(i,item){
//Read in the lat and long of each photo and stores it in a variable.
lat = item.latitude;
long = item.longitude;
title = item.title;
clickurl = item.link;
//Get the url for the image.
var htmlString = '<a href="' + clickurl + '">' + title + '</a>';
var contentString = '<div id="content">' + htmlString + '</div>';
//Create a new marker position using the Leaflet API.
var rssmarker = L.marker([lat, long]).addTo(map);
//Create a new info window using the Google Maps API
rssmarker.bindPopup(contentString).openPopup();
});
}
});
});
});