가고 싶은 오락실을 골랐더라도 실제 출발 전에는 지도에서 위치와 이동 방법을 확인하게 된다. 이때 이름을 복사해 다시 검색하면 비슷한 이름의 다른 장소를 고를 수도 있고, 지도에 등록된 명칭이 간판과 달라 찾기 어려울 수도 있다.
뮤즈캣 Alpha에는 이미 오락실의 위치가 저장돼 있다. 이 정보를 네이버 지도에 목적지로 전달하면 같은 장소를 다시 찾는 과정을 줄일 수 있다. 상세 화면의 길찾기 버튼은 그 연결을 제공한다.
2023-06-17 Alpha 원본 코드 재현 · 합성 예시 데이터. 상세 화면에서 고른 장소를 그대로 길찾기에 전달한다.
이름 검색은 장소를 아직 정하지 않았을 때 유용하다. 그러나 상세 화면에서 하나의 오락실을 고른 뒤에도 같은 검색을 반복할 이유는 적다. 예를 들어 같은 상호를 쓰는 점포가 여럿이라면, 지도 검색 결과에서 지점을 다시 구별해야 한다.
그래서 이름과 함께 저장된 좌표를 전달하기로 했다. 좌표는 위도와 경도로 위치를 나타내는 값이다. 이용자가 선택한 위치를 그대로 넘기고, 그곳까지의 경로와 교통 정보는 네이버 지도에서 확인하는 방식이다.
네이버 지도 웹 주소에는 목적지를 지정하는 매개변수가 있다. Alpha의 길찾기 함수인 GetNaverMapLink는 경도와 위도, 장소 이름을 각각 elng, elat, etext에 넣어 새 창을 연다. 화면에서 보던 이름도 함께 전달하므로 목적지를 확인할 수 있다.
주소나 지도에서 장소를 여는 동작도 이 함수를 사용한다. 각 버튼이 지도 주소를 따로 만들면 전달 항목이 달라질 수 있으므로, 같은 장소 정보를 받아 주소를 만드는 부분을 한곳에 뒀다.
지도에 보낼 정보는 접속 환경에 따라 조금 다르다. 모바일로 인식한 브라우저에는 목적지 중심의 주소를 전달하고, 데스크톱에는 현재 위치의 경도와 위도도 출발점으로 포함한다.
두 경우 모두 네이버 지도 웹 주소를 연다. 버튼을 누르는 기기에 따라 모바일 앱을 반드시 직접 실행한다고 설명할 수는 없다. 뮤즈캣이 전달하는 값은 출발점과 목적지이며, 이후 화면과 길찾기는 지도 서비스에서 이어진다.
이용자는 선택한 오락실의 상세 정보에서 같은 위치의 길찾기로 이동할 수 있다. 뮤즈캣 안에 경로 계산 기능을 새로 만드는 것보다, 장소를 찾는 기능을 지도 서비스와 연결하는 편이 이 단계의 목적에 맞았다.
다만 좌표가 정확하더라도 건물 중심과 실제 입구는 다를 수 있다. 주변에 도착한 뒤 어느 출입구를 이용할지까지 좌표 하나로 설명하기는 어렵다. 위치가 틀린 경우에는 원래 장소 데이터를 수정해야 하며, 경로 정보의 갱신은 지도 서비스에 의존한다.
참고: Alpha의 지도 연결 구현.