在Mapbox中搜索国家/地区

时间:2016-01-30 17:55:32

标签: javascript mapbox mapbox-gl mapbox-gl-js

我有一个国家/地区列表,我试图将地图居中并调整缩放级别以在地图中显示整个国家/地区。

使用地理编码API System.InvalidOperationException: Unexpected false
 at Roslyn.Utilities.Contract.ThrowIfFalse(Boolean condition, String message)
 at Microsoft.CodeAnalysis.Editor.Tagging.AbstractAsynchronousTaggerProvider`1.TagSource.GetTagIntervalTreeForBuffer(ITextBuffer buffer)
 at Microsoft.CodeAnalysis.Editor.Tagging.AbstractAsynchronousTaggerProvider`1.Tagger.GetTagsWorker(NormalizedSnapshotSpanCollection requestedSpans, Boolean accurate, CancellationToken cancellationToken)
 at Microsoft.CodeAnalysis.Editor.Tagging.AbstractAsynchronousTaggerProvider`1.Tagger.GetTags(NormalizedSnapshotSpanCollection requestedSpans)
 at Microsoft.VisualStudio.Text.Tagging.Implementation.TagAggregator`1.<GetTagsForBuffer>d__38.MoveNext() ,我能够获得一些不在国家中心的坐标,但至少我得到了相关的坐标,但是,返回的对象并没有。 t包含缩放级别的任何信息。

https://api.mapbox.com/geocoding/v5/{dataset}/{query}.json?country={cc}&access_token=<your access token>

我错过了什么?我应该使用不同的API吗?或者我正在寻找不支持的内容?

1 个答案:

答案 0 :(得分:4)

响应中还返回的是一个边界框,您可以将其传递给map.fitBounds以获得准确的坐标+缩放:

var bbox = res.features[0].bbox;
map.fitBounds([
  [bbox[0], bbox[1]],
  [bbox[2], bbox[3]]
]);