4

구글 맵 LatLngBounds을 P의 왼쪽 왼쪽 x 해리가되도록 정의하고 싶습니다. 그리고 LatLngBounds를 P로 남겨두고 x 거리를 LatLong로 정의하십시오.Google지도를 사용하여 위도가 주어진 해리를 경도로 변환하십시오.

그래서 기본적으로 내가 위도와 경도를 사용하여 위도 경도 경계를 정의하려면, 나는 X, Y로부터의 위도와 경도를 얻고 싶은, 그리고 P. Y 해리 P. 아래의 점 P와 y 나노 미터 이상이어야

위도는 경도로 쉽게 변환됩니다. 1 도는 1 해리에 해당합니다. 그러나
위도로 nm 당 경도가 변경됩니다. 공식은

public static function degPerNmAtLat($lat) { 
    $pi80 = M_PI/180; 
    $lat = $lat*$pi80; //convert lat to radians 
    $p1 = 111412.84;  // longitude calculation term 1 
    $p2 = -93.5;   // longitude calculation term 2 
    $p3 = 0.118;   // longitude calculation term 3 
    // below: calculate the length of a degree of latitude and longitude in meters 
    $longlen = ($p1 * cos($lat)) + ($p2 * cos(3 * $lat)) + ($p3 * cos(5 * $lat)); 
    $longlen = $longlen * (3.280833333)/(5280 * 1.15077945); // convert to nautical miles 
    return 1/$longlen; 
} 

(PHP에서)입니다 그러나 이것은 일반적인 작업처럼 보인다, 그리고 구글지도 나는이 작업을 수행 할 것이다 실종 기능이 있는지 궁금합니다. 위 공식을 사용하지 않고 x, y 및 P에서 LatLngBounds 객체를 만드는 네이티브 Google지도가 있습니까?

답변

3

당신은 Google Maps API V3 geometry librarycomputeOffset() 기능을 사용할 수 있습니다 : 네,이

var dist = nauticalMiles * 1852; // convert nm to meters 
var point = new google.maps.LatLng(lat,lng); 
var eastPoint = google.maps.geometry.spherical.computeOffset(point,dist,90.0); 
var westPoint = google.maps.geometry.spherical.computeOffset(point,dist,270.0); 
+0

입니다. 네임 스페이스 객체의 구형 객체에는 두 개의 LatLng 객체 사이의 거리 및 표제와 같은 여러 유용한 메소드가 있습니다. 감사. – steampowered

관련 문제