首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >调用fitBounds时,边界无效

调用fitBounds时,边界无效
EN

Stack Overflow用户
提问于 2022-07-24 09:45:36
回答 1查看 104关注 0票数 0

我有Nominatim GeoJSON数据,表示一个国家的边界,比如这个https://nominatim.openstreetmap.org/search?country=it&polygon_geojson=1&format=json,并通过ajax获取它。我用传单来制作和显示地图。

在调用geoJson(jsonData)之后,我希望地图能够与fitBounds()相匹配,但我得到了Uncaught Error: Bounds are not valid.

这是我的密码:

代码语言:javascript
复制
$.ajax({ url: NOMINATIM_BOUNDARY_URL })
.done( function(json) {
  console.log(json); // the json is loaded correctly.
  var layer = L.geoJson(json);
  console.log(layer.getBounds()); // this prints 'undefined'. Why?
  mapref.fitBounds(layer.getBounds()); // mapref is our map object.
});

我想我得到了错误,因为边界是未定义的。为什么?

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-07-27 10:24:43

多亏了伊万桑切斯在评论中的建议,我才解决了我的问题。

问题是,Nominatim对象除了GeoJSON之外还有其他一些东西,所以我只需要检查这个对象并使用我需要的东西,即json[0].geoJson

然后,我的代码变成:

代码语言:javascript
复制
$.ajax({ url: NOMINATIM_BOUNDARY_URL })
.done( function(json) {
  var layer = L.geoJson(json[0].geoJson);
  console.log(layer.getBounds()); // this doesn't print 'undefined' anymore.
  mapref.fitBounds(layer.getBounds()); // now this works!
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73097285

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档