Leaflet 如何将十六进制应用于整个世界

Leaflet 如何将十六进制应用于整个世界,leaflet,cartodb,turfjs,Leaflet,Cartodb,Turfjs,如何将十六进制应用于整个世界。我在互联网上找到了一个例子,但无法应用于整个世界var bbox=[-180,-9018090]但它没有按预期工作 ///////////////////////////////////////////////////////////////////////////////////////////// //设置地图// /////////////////////////////////////////////////////////////////////////

如何将十六进制应用于整个世界。我在互联网上找到了一个例子,但无法应用于整个世界
var bbox=[-180,-9018090]但它没有按预期工作

/////////////////////////////////////////////////////////////////////////////////////////////
//设置地图//
/////////////////////////////////////////////////////////////////////////////////////////////
//设置中心坐标
var centerat=40.758896;
var centerlon=-73.985130;
//设置默认缩放级别
var zoomLevel=11;
//初始化映射
var map=L.map('map').setView([centerlat,centerlon],zoomLevel);
//设置贴图分幅的源
ATTR='&复制;贡献者,'+
' | ' +
“©;”;
CDB_URL='http://{s}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}.png';
//将平铺添加到地图
L.tileLayer(CDB_URL{
归属:ATTR
}).addTo(地图);
/////////////////////////////////////////////////////////////////////////////////////////////
//生成GeoJSON对象//
/////////////////////////////////////////////////////////////////////////////////////////////
//创建一些要采样的GeoJSON点(下面的函数)
var dotcount=200000;
var点=制造点(点计数);
//六角网格的参数
var bbox=[-74.035492,40.706523,-73.908463,40.825095];
var-cellWidth=0.3;
var单位=‘英里’;
//在每个单元格内创建十六进制网格和计数点
var hexgrid=草皮。hexgrid(bbox,单元格宽度,单位);
var hexcounts=turf.count(hexgrid,点,'pt_count');
L.geoJson(十六进制计数{
onEachFeature:onEachHex
}).addTo(地图);
函数getRandomCoordinates(半径,均匀){
//生成两个随机数
var a=Math.random(),
b=数学随机();
//翻转以获得更大的均匀性。
国际单项体育联合会(制服){
if(b点计数'],
从,到,;
//遍历等级,并为每个等级创建颜色字段和标签
对于(变量i=0;i”);
返回div;
};
hexlegend.addTo(地图);
/////////////////////////////////////////////////////////////////////////////////////////////
//造型功能//
/////////////////////////////////////////////////////////////////////////////////////////////
//突出显示样式
var hextylehighlight={
颜色:“336”,
体重:2,
不透明度:1,
};
//创建颜色渐变
函数getColor(y){
返回y==未定义?“#888”:
y<1?'#ffffe9':
y<2?'#edf8b1':
y<5?'#c7e9b4':
y<10?“#7fcdbb”:
y<20?“#41b6c4”:
y<50?“#1d91c0”:
y<100?“#225ea8”:
"0c2c84",;
}
//使用从颜色渐变中拾取的fillColor创建样式
功能样式(特征){
返回{
fillColor:getColor(feature.properties.pt_count),
颜色:“888”,
重量:0.5,
不透明度:1,
fillOpacity:0.4//0.8
};
}
//将样式和弹出窗口附加到十六进制层
函数highlightHex(e){
var层=e.目标;
layer.setStyle(hexStyleHighlight);
如果(!L.Browser.ie&&!L.Browser.opera){
层。布氏体();
}
}
功能重置(e){
var层=e.目标;
var hextyledefault=样式(layer.feature);
layer.setStyle(hexStyleDefault);
}
功能onEachHex(特征,层){
分层({
鼠标盖:highlightHex,
mouseout:resetHexHighlight
});
var hextyledefault=样式(layer.feature);
layer.setStyle(hexStyleDefault);
//为了语法起见
if(feature.properties.pt_count==1){
var be_动词=“有”;
var point_s=“point”;
}否则{
var be_动词=“有”;
var point_s=“points”;
}
layer.bindPopup(be_verb+“”+feature.properties.pt_count+“”+point_s+’在此单元格中);
}
/////////////////////////////////////////////////////////////////////////////////////////////
//合成GeoJSON函数//
/////////////////////////////////////////////////////////////////////////////////////////////
//cheapo-normrand函数
功能正常(平均值、范围){
var num_out=((数学随机()+数学随机()+数学随机()+数学随机()+数学随机()+数学随机()+数学随机()+数学随机()+数学随机()+数学随机()-4)/4)*范围+平均值;
返回num_out;
}
//创建随机~正态分布的geojson数据
函数生成点(点计数){
变量点={
类型:“
SELECT 
  CDB_HexagonGrid(
    ST_Transform(
      ST_SetSRID(  
        ST_MakeEnvelope(
          -179.99,
          -89.99,
          179.99,
          89.99),
        4326),
      3857),
    150000) 
  AS the_geom_webmercator
var sql=new cartodb.SQL({user:'USERNAME', format:'geojson'});
  sql.execute("SELECT * FROM table_name").done(function(geojson){
    data=geojson;
  });