Google Maps API 문제 등 GLatLngBounds
-
08-06-2019 - |
문제
나는 길 Google Maps API.나는 배열을 보유하고 ojbect 내가 만들어를 저장하는 점이다.
내 편안하고 클래스:
var tPoints = [];
function tPoint(name) {
var id = name;
var points = [];
var pointsCount = 0;
...
this.getHeadPoint = function() { return points[pointsCount-1]; }
}
tPoint 보유하고의 배열 GLatLng 포인트입니다.쓰고 싶어하는 기능을 반환 GLatLngBounds 체는 확장에서 현지도 범위를 표시하는 모든 HeadPoints.
Heres 내가 지금까지..
function getBounds() {
var mBound = map.getBounds();
for (var i = 0; i < tPoints.length; i++) {
alert(mBound.getSouthWest().lat() + "," + mBound.getSouthWest().lng());
alert(mBound.getNorthEast().lat() + "," + mBound.getNorthEast().lng());
currPoint = trackMarkers[i].getHeadPoint();
if (!mBound.containsLatLng(currPoint)) {
mBound.extend(currPoint);
}
}
return mBound;
}
을 반환하는 이 값에 대한 경고입니다.(일반적으로 미국)
"19.64258,NaN"
"52.69636,NaN"
"i=0"
"19.64258,NaN"
"52.69636,-117.20701"
"i=1"
왜 몰라 내가 받고 난 뒤입니다.을 사용할 때의 경계를 얻을 확대/축소 수준의 생각 할머니는 값이 일으키는 지도입니다.getBoundsZoomLevel(범위)를 반환 0 는 잘못된 것입니다.내가 사용하는 GLatLngBounds 잘못?
해결책
Google maps 샘플은 이 코드를 사용하여...
var bounds = map.getBounds();
var southWest = bounds.getSouthWest();
var northEast = bounds.getNorthEast();
var lngSpan = northEast.lng() - southWest.lng();
var latSpan = northEast.lat() - southWest.lat();
...를 두고 있는 남서쪽/동북 범위 변수로 시도하기 전에 얻은 개별 lng/lat 좌표입니다.어쩌면 무언가가 있으로"중첩"평가를 일으키는 문제입니다.도 세부적인 접근를 얻을 수 있는지 확인하기 위해 필요한 데이터?
다른 팁
내가 찾는 예제를 통해 Google 검색이고 했습니다.이 없는 문제입니다.
내 버그입니다.아무나 할 수 있었다 문제를 해결합니다.는 것이 밝혀졌기에 바로 전에 테스트 범위를 했을 중심으로 나지도와 나쁜 데이터입니다.내가 뭔가 좋 lngSpan = northEast.lng() - southWest.lng();
그러나 JavaScript 해석 내 var 로 문자열입니다.그래서 (maxLng-minLng)/2 + minLng
은 다음과 같은 결과를 반환합니다 "20.456-116.1178"
로 lng
.내가 중심으로 나 맵 var centerPoint = new GLatLng(setLat, setLng);
후에는 지도 API 를 조금 이상;)
도움을 주셔서 감사합니다 하지만입니다.