openstreetmap - 加速大纲加载
问题描述
我使用以下函数在某些区域(例如状态)周围使用绘制边界,并且大多数情况下效果很好,但是在形状非常不规则的情况下会出现明显的延迟。我认为这是因为脚本正在检索大量数据点。有没有办法加快速度?也许我可以提前检索轮廓坐标,将其存储在本地然后使用它?有没有办法做到这一点?
function drawBoundary(state) {
url = "https://nominatim.openstreetmap.org/search.php?state=" + state + "&polygon_geojson=1&format=jsonv2";
fetch(url).then(function(response) {
return response.json();
})
.then(function(json) {
let geojsonFeature = json[0].geojson;
let layer = L.geoJSON(geojsonFeature);
// calc the zoom level
let z = map._getBoundsCenterZoom(layer.getBounds());
// fly duration, unit: second
let flyDuration = 1.5;
map.flyTo([json[0].lat, json[0].lon], z.zoom, {duration:flyDuration});
setTimeout(function(){
layer.addTo(map);
}, flyDuration*1000);
});
}
解决方案
推荐阅读
- amazon-web-services - AWS CLI 查询 - 带参数的描述键
- java - 创建具有不同前缀但具有相同表名的多个表
- c# - How do I read RSA public key from PEM file and use it to encrypt in BouncyCastle in C#?
- ubuntu - Unable to access Hadoop services from Hue after Hadoop installation
- javascript - 嵌套反应导航配置在应用程序上下文中找不到 redux 商店
- docker-compose - docker-compose启动springboot和mysql,springboot无法连接mysql服务
- java - 在java中重复一行
- angular7 - 如何使组件在 Angular 中重新渲染路线更改?
- mysql - 无法使用 express 和 ajax 从后端获取图像
- excel - 将选定单元格限制在范围内