有人知道如何在不使用任何UI元素和Javascript的情况下完成Google地图绑定计算。
我有一组点和不同的缩放级别。我可以添加屏幕大小,我需要计算提供的坐标和缩放级别的界限。我试图在普通的C#代码中执行此操作。
请帮忙。
答案 0 :(得分:0)
至于计算边界 - 你可以通过遍历坐标数组轻松地做到这一点,如果点落下则扩展边界矩形。第一次协调是一个开始。我不熟悉C#,但有使用伪代码的算法:
points = Array of coord(lat, lng)
bounds = object {
top: null
left: null
right: null
bottom: null
function extend(coord: (lat, lng))
{
if (this.top == null) // empty
{
this.top = coord.lat; this.bottom = coord.lat;
this.left = coord.lng; this.right = coord.lng;
}
else
{
if (coord.lng < this.left) this.left = coord.lng;
if (coord.lat < this.bottom) this.bottom = coord.lat;
if (coord.lng > this.right) this.right = coord.lng;
if (coord.lat > this.top) this.top = coord.lat;
}
}
}
但当然更简单的方法是使用已编写的谷歌功能。 可以从边界框的大小以某种方式计算缩放级别(例如,您可以找到一个表格,其中每个像素的速率为km或英里,或近似宽度或地图),但最舒适的方式是map.fitBounds(bounds)