我有一个国家/地区列表,我试图将地图居中并调整缩放级别以在地图中显示整个国家/地区。
使用地理编码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吗?或者我正在寻找不支持的内容?
答案 0 :(得分:4)
响应中还返回的是一个边界框,您可以将其传递给map.fitBounds
以获得准确的坐标+缩放:
var bbox = res.features[0].bbox;
map.fitBounds([
[bbox[0], bbox[1]],
[bbox[2], bbox[3]]
]);