Javascript 使用谷歌地图API获取当前缩放级别的最大观看距离

Javascript 使用谷歌地图API获取当前缩放级别的最大观看距离,javascript,google-maps,Javascript,Google Maps,加载某些方向时,贴图将调整到适当的缩放级别 然后我请求数据库中距离地图中心一定半径内的几个标记 如何根据当前的缩放级别获得正确的半径值?该值应为从地图中心到边缘的实际距离 谢谢 我认为在实际边界内获得标记比在半径范围内更容易、更准确。如果愿意,您可以轻松地扩展或缩小边界 Javascript: var bounds = map.getBounds(); var sw = bounds.getSouthWest(); var ne = bounds.getNorthEast(); var s =

加载某些方向时,贴图将调整到适当的缩放级别

然后我请求数据库中距离地图中心一定半径内的几个标记

如何根据当前的缩放级别获得正确的半径值?该值应为从地图中心到边缘的实际距离


谢谢

我认为在实际边界内获得标记比在半径范围内更容易、更准确。如果愿意,您可以轻松地扩展或缩小边界

Javascript:

var bounds = map.getBounds();
var sw = bounds.getSouthWest();
var ne = bounds.getNorthEast();

var s = sw.lat();
var w = sw.lng();
var n = ne.lat();
var e = ne.lng();
PHP/SQL:

$query = "SELECT * FROM Markers WHERE ";
if ($w > $e) { // If the bounds include the intl. date line
    $query .= "(lat BETWEEN $s AND $n) AND ((lng BETWEEN -180 AND $e) OR (lng BETWEEN $w AND 180))";
} else {
    $query .= "(lat BETWEEN $s AND $n) AND (lng BETWEEN $w AND $e)";
}

但是如果你真的想使用半径法,你可以这样做:

var w = map.getBounds().getSouthWest().lng();
var centerLng = map.getCenter().lng();

var distance = centerLng - w; // This is the distance from the center to the left edge in degrees.

上/下或左/右边缘?嗯,考虑到我需要距离地图中心的距离,我真的不在乎。。。但是让我们说一下,上/左边缘。你想得到所有以地图中心为半径的标记,还是地图边界内的所有标记?这是两件不同的事情。边界内的标记是最好的,但我已经在半径范围内使用sql实现了这一点,我只需要知道地图的最大距离(取决于缩放级别)就可以满足我的查询