2013-11-15 4 views
1

마커를 클릭하면 Google지도와 일부 마커가 있습니다. 스트리트 뷰지도를 열고 닫을 수 있고 다시 열 수 있습니다.동일한 Google지도 스트리트 뷰 오브젝트를 다시 사용하는 방법

단일 글로벌 가로보기 인스턴스를 사용하고 display : none을 사용하여 숨기려고 시도했습니다. 문제는지도가 숨겨진 후에 다시 렌더링되지 않는다는 것입니다.

매번 새로운 글로벌 인스턴스를 시작하려고했지만 이전 인스턴스가 손상되지 않은 것처럼 보이고 이전 오버레이 위에 새로운 오버레이를 렌더링합니다.

이 작업을 수행하는 가장 좋은 방법은 무엇입니까?

편집 :

아마 별도의 질문을 달성하는 것은 쉽지 않다 위의 경우, 어떻게 위도 LNG 주어진 스트리트 뷰 (Street View) 모드로 맵을 기존의 스위치합니까? 나는 Google에서 검색 중이며 명백한 결과를 찾을 수 없습니다.

+0

당신이 투표를하면 내 질문을 내려주세요. 이유를 설명해주세요. –

+0

setVisible (false)을 시도 했습니까? – bfavaretto

+0

@bfavaretto 스트리트 뷰 div가 팝업 div 안에 들어가기 때문에 팝업 div를 숨길 필요가 있으며 궁극적으로 스트리트 뷰 div가 'display : none'의 영향을받을 것이기 때문에 작동하지 않을 것이라고 생각합니다 –

답변

1

좋아, 나는 "새로운 글로벌 인스턴스를 시작할 때마다 시도했지만 오래된 인스턴스가 손상되지 않은 것으로 보이고 오래된 오버레이 위에 새로운 오버레이를 렌더링합니다." 그래서 그것은 실행 가능합니다. 비슷한 목적을 가지고

여기 https://developers.google.com/maps/documentation/javascript/examples/streetview-overlays

이 경우 코드는 다음과 같습니다 :

그리고 내 질문에 업데이트와 관련하여, 나는 다음과 같은 링크에서 내 대답을 얻었다

var sv = map.getStreetView(); 
sv.setPosition(new google.maps.LatLng(lat,lng));                         
sv.setVisible(true); 
+0

내 https :// /stackoverflow.com/q/45654166/7039895 나는 갇혀 있고 당신이 그것을 알아 낸 것을 볼 수 있지만 어떻게 내 코드에 적용할지 모르겠다. –

관련 문제