擅长:python、mysql、java
<p><a href="https://docs.mapbox.com/help/glossary/zoom-level/#zoom-levels-and-geographical-distance" rel="nofollow noreferrer">Mapbox API documentation</a>显示缩放基本上是对数缩放。因此,经过反复试验,以下功能对我有效:</p>
<pre><code>max_bound = max(abs(x1-x2), abs(y1-y2)) * 111
zoom = 11.5 - np.log(max_bound)
</code></pre>
<p>注:</p>
<ul>
<li>在本例中,xy(lon/lat)坐标以十进制度数表示</li>
<li>111是将十进制度数转换为公里数的常数</li>
<li>11.5的值适用于我想要的缩放/裁剪级别,但我首先尝试了10-12之间的值</li>
</ul>