지도를로드 할 때지도가 적절한 확대/축소 수준으로 조정됩니다.Google지도 API로 현재 확대/축소 수준에서 최대 시청 거리 가져 오기
그런 다음지도의 중심에서 특정 반경 이내에있는 여러 마커를 요청합니다.
현재 줌 레벨에 따라 올바른 반경 값을 얻으려면 어떻게해야합니까? 이 값은 중심에서지도의 가장자리까지의 실제 거리 여야합니다.
감사합니다.
지도를로드 할 때지도가 적절한 확대/축소 수준으로 조정됩니다.Google지도 API로 현재 확대/축소 수준에서 최대 시청 거리 가져 오기
그런 다음지도의 중심에서 특정 반경 이내에있는 여러 마커를 요청합니다.
현재 줌 레벨에 따라 올바른 반경 값을 얻으려면 어떻게해야합니까? 이 값은 중심에서지도의 가장자리까지의 실제 거리 여야합니다.
감사합니다.
반경 대신 실제 경계 내에서 마커를 얻는 것이 쉽고 정확하다고 생각합니다. 원하는 경우 경계를 쉽게 확장하거나 축소 할 수 있습니다.
자바 스크립트 :
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.
을
굉장하고, 감사! –
상단/하단 또는 왼쪽/오른쪽 가장자리? –
글쎄, 나는지도의 중심으로부터의 거리가 필요하다고 생각해서, 나는 정말로 중요하지 않다. 그러나 말하자면, top/left edge. –
반경이있는 모든 마커를지도 중심점이나지도 경계 내에있는 모든 마커로 가져 오시겠습니까? 그것들은 두 가지 다른 것들입니다. –