問題描述
我正在嘗試在 mapbox 上設(shè)置集群地圖,例如 http://leaflet.github.io/Leaflet.markercluster/example/marker-clustering-realworld.388.html
I'm trying to set up a clustered map on mapbox, like http://leaflet.github.io/Leaflet.markercluster/example/marker-clustering-realworld.388.html
但他們的示例使用純 .js 文件作為數(shù)據(jù)http://www.mapbox.com/mapbox.js/assets/realworld.388.js
But their example uses a plain .js file as data http://www.mapbox.com/mapbox.js/assets/realworld.388.js
而我唯一能從 mapbox 得到的是 .geojsonhttp://api.tiles.mapbox.com/v3/thebteam.map-w9jzcznw/markers.geojson
And the only thing I can get from mapbox is .geojson http://api.tiles.mapbox.com/v3/thebteam.map-w9jzcznw/markers.geojson
有沒有辦法可以將 geojson 轉(zhuǎn)換為 js(定期)?還是從 mapbox 導(dǎo)出一個 javascript 數(shù)組?
Is there a way I can convert the geojson to js (on a regular basis)? Or export a javascript array from mapbox?
最終將我的數(shù)據(jù)切換為 CSV 并找到了解析器.如果有人需要,這是有效的代碼:
ended up switching my data to CSV and finding a parser. Here's the code that worked, if anyone needs it:
var url = 'https://docs.google.com/spreadsheet/pub?key=abc123';
$.get(url, function(data) {
var addressPoints = $.csv.toArrays(data);
var map = L.mapbox.map('map', 'map-abc123').setView([20.30, 18.98], 2);
var markers = new L.MarkerClusterGroup({ showCoverageOnHover: false });
for (var i = 0; i < addressPoints.length; i++) {
var a = addressPoints[i];
var title = a[2];
var marker = L.marker(new L.LatLng(a[0], a[1]), {
icon: L.mapbox.marker.icon({'marker-size': 'small', 'marker-color': 'e8168c'}),
title: title
});
marker.bindPopup(title);
markers.addLayer(marker);
}
map.addLayer(markers);
});
推薦答案
var geojson = dataFromMapbox;
var lat;
var lng;
for(var i= 0;i<geojson.features.length;i++)
{
lat = geojson.features[i].geometry.coordinates[0];
lng = geojson.features[i].geometry.coordinates[1];
//create a marker with those values, pass it to a MarkerCluster object
}
這篇關(guān)于mapbox/傳單上的聚類標(biāo)記的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網(wǎng)!