2016-12-05 1 views
0

저는 Leaflet 덕분에 30 분이 넘는 업데이트 시간을 가진 Sun 제조사를 보유하고 있습니다. 그러나 여기에서 Sun은 기본보기 외부에서 렌더링합니다 (Sun을 보려면 오른쪽 스크롤해야 함) .Sun 마커 위치가 확대/축소 레벨에서 기본보기 외부로 렌더링

내가 좋아하는 worldCopyJump: true, 것들을 시도했다 :

var lat = data.solar_lat; 
var lng = (data.solar_lon - 360); 

을하지만 난이 울부 짖는 소리 전단지 놀이터로,이 바보 일에 전체 예를 끼 었어 :

https://playground-leaflet.rhcloud.com/haco/edit?html,js,output

를 만들기 위해 어떤 도움을 태양은 지구의 "주된 전망"에 빛난다?

답변

0

나는 그것이 당신이 "main view"라고 부르는 것에 달려 있다고 생각한다.

data source 사용중인 지구의 태양의 수직 투영이 [-90; 90도 위도 및 [-180; 대부분의 표준이 기대하는 것처럼 180도 경도.

그것은에서 현재 :

"solar_lat":-22.41390593196, "solar_lon":106.2319043175 

(즉, 어디 서부 호주 오프)

이 "기본보기"주위에 특히 [0, 0] 위치 (어딘가에 서/중앙 아프리카 오프) 중심으로 그리니치 자오선 (런던에 가까운 곳), 즉 "주요"지도의 중심에있는 유럽.

"main map"

전용 "주"보기 보여주는 업데이트 놀이터 : 당신이 미국에서 자란 경우 https://playground-leaflet.rhcloud.com/hefu/1/edit?html,js,output

는, 당신이지도의 중앙에 표시되는 아메리카에 더 익숙 할 것 호주는 왼쪽에, 유럽은 오른쪽에 있습니다.

World map with Americas at center

출처 : 원본 데이터가 예를 들어, 그리니치 자오선보다 동쪽 때마다 http://www.freeworldmaps.net/world/america-centric/

당신이 (중앙 아메리카)이보기와 일치 할 경우, 당신은 단순히 당신의 경도를 포장 할 수있다.

function wrapAroundAmericas(latlng) { 
    var lng = latlng.lng; 

    return L.latLng(
    latlng.lat, 
    lng > 0 ? lng - 360 : lng 
); 
} 

데모 : https://playground-leaflet.rhcloud.com/faru/1/edit?html,js,output

관련 문제