KR101725886B1 - 자동으로 결정된 스타팅 포인트들과 선택된 목적지들 사이의 네비게이션 경로들 - Google Patents
자동으로 결정된 스타팅 포인트들과 선택된 목적지들 사이의 네비게이션 경로들 Download PDFInfo
- Publication number
- KR101725886B1 KR101725886B1 KR1020167027480A KR20167027480A KR101725886B1 KR 101725886 B1 KR101725886 B1 KR 101725886B1 KR 1020167027480 A KR1020167027480 A KR 1020167027480A KR 20167027480 A KR20167027480 A KR 20167027480A KR 101725886 B1 KR101725886 B1 KR 101725886B1
- Authority
- KR
- South Korea
- Prior art keywords
- geographic location
- starting point
- user
- viewport
- indication
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/38—Electronic maps specially adapted for navigation; Updating thereof
- G01C21/3804—Creation or updating of map data
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/36—Input/output arrangements for on-board computers
- G01C21/3605—Destination input or retrieval
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/3407—Route searching; Route guidance specially adapted for specific applications
- G01C21/343—Calculating itineraries, i.e. routes leading from a starting point to a series of categorical destinations using a global route restraint, round trips, touristic trips
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/36—Input/output arrangements for on-board computers
- G01C21/3667—Display of a road map
- G01C21/3676—Overview of the route on the road map
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/38—Electronic maps specially adapted for navigation; Updating thereof
- G01C21/3885—Transmission of map data to client devices; Reception of map data by client devices
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/38—Electronic maps specially adapted for navigation; Updating thereof
- G01C21/3885—Transmission of map data to client devices; Reception of map data by client devices
- G01C21/3889—Transmission of selected map data, e.g. depending on route
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/38—Electronic maps specially adapted for navigation; Updating thereof
- G01C21/3885—Transmission of map data to client devices; Reception of map data by client devices
- G01C21/3896—Transmission of map data from central databases
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09B—EDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
- G09B29/00—Maps; Plans; Charts; Diagrams, e.g. route diagram
- G09B29/10—Map spot or coordinate position indicators; Map reading aids
- G09B29/106—Map spot or coordinate position indicators; Map reading aids using electronic means
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Educational Administration (AREA)
- Educational Technology (AREA)
- Business, Economics & Management (AREA)
- Navigation (AREA)
- Instructional Devices (AREA)
- Traffic Control Systems (AREA)
Abstract
맵핑 어플리케이션들 내 네비게이션 경로들을 제공하기 위해, 지리적 위치의 표시 및 상기 지리적 위치를 포함하는 맵 뷰포트의 표시가 수신된다. 상기 맵 뷰포트 내에서 사람들이 상기 지리적 위치에 더 액세스 할 가능성이 높은 여러 후보 스타팅 포인트들이 식별된다. 상기 여러 후보 스타팅 포인트들 중에서부터, 스타팅 포인트가 선택되고, 상기 사용자 디바이스 상에 디스플레이 하기 위해 상기 스타팅 포인트에서 상기 지리적 위치까지 상기 사용자 디바이스의 사용자를 안내하는 네비게이션 경로들이 생성된다.
Description
본 발명은 디지털 맵핑 데이터(digital mapping data)와 관련되고, 특히 네비게이션 경로들에 대한 스타팅 포인트의 선택을 수신함이 없이 사용자에게 네비게이션 경로들(navigation directions)을 제공하는 것과 관련된다.
본 명세서에서 제공되는 배경 기술은 일반적으로 발명의 컨텍스트(context)를 제공하기 위한 것이다. 본 배경 기술 설명란에서 설명하는 정도로의 현재 지명된 발명자들의 발명 내용뿐만 아니라 출원 당시 선행기술로서 적격하지 않은 본 발명의 설명의 양상들은 명시적으로든 묵시적으로든 본 발명에 대한 선행기술로서 인정되지 않는다.
오늘날, 많은 사용자들이 다양한 지리적 위치(geographic location)에 대한 맵 및 네비게이션 데이터를 요청한다. 소프트웨어 어플리케이션들은 일반적으로 사용자로부터 입력을 수신하는 것에 응답하여, 스타팅 포인트와 목적지를 지정하는 네비게이션 데이터를 생성한다.
네트워크 서버 및/또는 사용자 디바이스 내에서 구현되는 시스템은 네비게이션 경로들에 대한 스타팅 포인트의 선택을 수신함이 없이, 사용자에게 특정 지리적 위치에 대한 네비게이션 경로들을 자동으로 제공한다. 사용자는 (예를 들면, 지리적 쿼리(geographic query)를 제출함으로써) 뷰포트(viewport) 내의 디지털 맵 상의 지리적 위치를 수동으로 또는 자동으로 선택한다. 지리적 위치는 네비게이션 경로들에 대한 목적지를 정의한다. 그 후 시스템은 사용자의 스타팅 포인트일 가능성이 있는 동일한 맵 뷰포트 내의 지리적 위치들을 식별함으로써, 이러한 네비게이션 경로들에 대한 스타팅 포인트를 자동으로 선택한다. 예를 들면, 시스템은 교통 중심지(transportation hub), 인기 있는 관심 지점(point of interest)(POI)들, 주요 도로의 출구(exit from major road) 등을 식별할 수 있다. 또한 시스템은 인기, 지리적 위치까지 적당한 교통 수단(mode of transportation)과 관련된 접근성(예를 들면, 고속도로 출구는 자동차를 요구할 가능성이 높은 반면에 공항은 비행기를 요구할 가능성이 높기 때문에, 공항은 고속도로 출구보다 덜 액세스 할 수 있다), 목적지로부터의 거리 등과 같은 이러한 요소에 따라 지리적 위치들을 랭크(rank)할 수 있다. 그 후 시스템은 여러 개의 탑 랭킹 스타팅 포인트들을 선택하고 이러한 스타팅 포인트들에서 목적지까지 사용자를 안내하는 네비게이션 경로들을 생성한다. 사용자 디바이스는 이러한 경로들의 시각화(visualization)를 자동으로 생성한다.
본 방식에서, 시스템은 상기 지역에 익숙하지 않고 스타팅 포인트가 무엇일지 모르는 사용자를 위해 적당한 스타팅 포인트를 결정하고 네비게이션 경로들을 생성한다. 게다가, 이러한 기법은 맵 상의 머천트 위치의 표시를 포함하는 머천트 웹사이트 또는 다른 3자 웹사이트에 의해 사용될 수 있다. 맵을 보는 사용자들의 위치들을 알지 않고, 시스템은 맵의 뷰포트에 기초하여 사용자들에게 적당한 스타팅 포인트들에서부터의 경로들을 제공한다.
특히, 본 발명의 기법들의 예시적인 실시예는 맵핑 어플리케이션들 내 네비게이션 경로들을 제공하는 방법이다. 지리적 위치의 표시를 수신하는 단계와, 상기 지리적 위치를 포함하는 사용자 디바이스 상의 맵 뷰포트의 표시를 수신하는 단계와, 상기 맵 뷰포트 내에서, 복수의 후보 스타팅 포인트들을 식별하는 단계와, 상기 복수의 후보 스타팅 포인트들은 사람들이 상기 맵 뷰포트 내의 다른 위치들로부터 보다 상기 복수의 후보 스타팅 포인트들로부터 상기 지리적 위치에 액세스할 가능성이 더 있는 복수의 후보 스타팅 포인트들이며, 상기 복수의 후보 스타팅 포인트들 중에서부터 스타팅 포인트를 선택하는 단계와, 그리고 상기 사용자 디바이스 상에 디스플레이 하기 위해, 상기 스타팅 포인트에서 상기 지리적 위치까지 상기 사용자 디바이스의 사용자를 안내하는 네비게이션 경로들을 생성하는 단계를 포함한다. 상기 방법은 하나 이상의 컴퓨팅 디바이스들 상에서 실행될 수 있다.
이러한 기법들의 다른 실시예는 네비게이션 경로들을 자동으로 수신하는 클라이언트 디바이스 내의 방법이다. 상기 방법은 사용자 인터페이스를 통해 현재 맵 뷰포트 내의 디지털 맵을 디스플레이 하는 단계와, 상기 현재 맵 뷰포트 내의 지리적 위치를 결정하는 단계와, 통신 네트워크를 통해 상기 지리적 위치의 표시 및 상기 현재 맵 뷰포트의 표시를 네트워크 서버에 전송하는 단계와, (ⅰ) 상기 네트워크 서버에 의해 지역으로서 자동으로 선택된 상기 뷰포트 내의 스타팅 포인트의 표시 및, 사용자들이 상기 지역에서 상기 지리적 위치에 액세스할 가능성이 더 있으며, (ⅱ) 상기 스타팅 포인트에서 상기 지리적 위치까지 이동(travel)하는 네비게이션 경로들을 수신하는 단계와, 그리고 상기 사용자 인터페이스를 통해 상기 네비게이션 경로의 시각화를 제공하는 단계를 포함한다.
이러한 기법들의 또 다른 실시예는 통신 인터페이스, 사용자 인터페이스, 상기 통신 인터페이스 및 상기 사용자 인터페이스에 연결된 하나 이상의 프로세스 및 명령어들을 저장하는 비-일시적인 컴퓨터 판독가능 메모리를 포함하는 클라이언트 컴퓨팅 디바이스이다. 상기 하나 이상의 프로세서들에 의해 실행될 때, 상기 명령어들은 상기 클라이언트 컴퓨팅 디바이스로 하여금 (ⅰ) 상기 사용자 인터페이스를 통해 현재 맵 뷰포트 내의 디지털 맵을 디스플레이 하고, (ⅱ) 상기 현재 맵 뷰포트 내의 지리적 위치의 선택을 수신하고, (ⅲ) 상기 통신 인터페이스를 통해 상기 지리적 위치의 표시 및 상기 현재 맵 뷰포트의 표시를 네트워크 서버에 전송하고, 상기 네트워크 서버로부터, (a) 상기 네트워크 서버에 의해 지역으로서 자동으로 선택된 상기 뷰포트 내의 스타팅 포인트의 표시 및, 사용자들이 상기 지역에서 상기 지리적 위치에 액세스할 가능성이 더 있으며, (b) 상기 스타팅 포인트에서 상기 지리적 위치까지 이동하는 네비게이션 경로들을 수신하고, 그리고 상기 사용자 인터페이스를 통해 상기 네비게이션 경로의 시각화를 제공하도록 한다.
도 1은 스타팅 포인트를 지정함이 없이 네비게이션 경로들을 제공하는 기법들이 구현될 수 있는 예시적인 통신 시스템의 블록 다이어그램이다.
도 2A는 제1 뷰포트에서 목적지에 대한 맵 콘텐츠 및 네비게이션 경로들의 예시적인 디스플레이이다.
도 2B는 제2 뷰포트에서 도 2A의 동일한 목적지에 대한 맵 콘텐츠 및 네비게이션 경로들의 예시적인 디스플레이이다.
도 2C는 제3 뷰포트에서 도 2A 및 2B의 동일한 목적지에 대한 맵 콘텐츠 및 네비게이션 경로들의 예시적인 디스플레이이다.
도 3은 맵 데이터 서버에서 스타팅 포인트를 지정함이 없이 네비게이션 경로들을 제공하는 예시적인 방법의 흐름도이다.
도 4는 클라이언트 컴퓨팅 디바이스에서 스타팅 포인트를 지정함이 없이 네비게이션 경로들을 수신하는 예시적인 방법의 흐름도이다.
도 2A는 제1 뷰포트에서 목적지에 대한 맵 콘텐츠 및 네비게이션 경로들의 예시적인 디스플레이이다.
도 2B는 제2 뷰포트에서 도 2A의 동일한 목적지에 대한 맵 콘텐츠 및 네비게이션 경로들의 예시적인 디스플레이이다.
도 2C는 제3 뷰포트에서 도 2A 및 2B의 동일한 목적지에 대한 맵 콘텐츠 및 네비게이션 경로들의 예시적인 디스플레이이다.
도 3은 맵 데이터 서버에서 스타팅 포인트를 지정함이 없이 네비게이션 경로들을 제공하는 예시적인 방법의 흐름도이다.
도 4는 클라이언트 컴퓨팅 디바이스에서 스타팅 포인트를 지정함이 없이 네비게이션 경로들을 수신하는 예시적인 방법의 흐름도이다.
일반적으로, 스타팅 포인트를 지정함이 없이 네비게이션 경로들을 제공하는 기법들은 클라이언트 컴퓨팅 디바이스, 하나 이상의 네트워크 서버들 또는 이들 디바이스들의 결합을 포함하는 시스템 내에서 구현될 수 있다. 그러나, 명확성을 위해, 하기 예시들은 실시예에 주로 초점을 맞추고, 상기 실시예에서, 맵핑 어플리케이션은 사용자 디바이스 상에서 동작을 행하고 목적지에 대응하는 지리적 위치를 지정하며, 네비게이션 서버는 하나 이상의 스타팅 포인트로부터 목적지로까지의 네비게이션 경로들을 생성하고, 서버 디바이스는 맵 콘텐츠와 네비게이션 경로들을 디스플레이 한다.
일 구현예에서, 사용자 디바이스는 맵 뷰포트 내의 목적지에 대한 네비게이션 경로들에 대한 요청을 생성하고, 스타팅 포인트 스코어링 엔진은 상기 요청을 수신한다. 스타팅 포인트 스코어링 엔진은 상기 뷰포트 내의 여러 지리적 위치들을 식별하고, 상기 지리적 위치가 사용자의 스타팅 포인트일 가능성을 결정하기 위해 여러 요소들에 기초하여, 상기 지리적 위치들을 랭크한다. 지리적 위치들을 랭크하고 난 후, 스타팅 포인트 스코어링 엔진은 먼저 가장 높은 랭킹 위치를 스타팅 포인트로 선택하고, 사용자 디바이스가 얼마나 많은 스타팅 포인트들을 요청하였는지에 따라 내림차순으로 지리적 위치들을 더 선택할 수 있다. 일단 스타팅 포인트(들)가 결정되면, 시스템은 사용자에 대한 교통 수단을 결정하고, 상기 교통 수단에 따라, 스타팅 포인트(들)로부터 목적지까지의 네비게이션 경로들을 생성한다.
예를 들면, 만일 사용자가, Willis Tower의 주로 북동쪽 위치들을 표시하는 맵 뷰포트들에 대해 "중간" 줌 레벨(맵 뷰포트가 대략 10개의 도시 블록 폭)에서, Willis Tower in Chicago, IL를 선택하였다면, 시스템은 하나의 가능한 스타팅 포인트는 Highway 94임을 결정할 수 있다. 반대로, 만일 사용자가 동일한 중간 줌 레벨에서 Willis Tower를 선택하였으나 뷰포트가 Willis Tower의 주로 남쪽 위치들을 표시한다면, 시스템은 스타팅 포인트가 Highway 290임을 결정할 수 있다. 그러나, 만일 사용자가 Willis Tower를 선택하였으나 줌 레벨이 낮아서 맵 뷰포트가 전체 도시 영역을 포함한다면, 시스템은 스타팅 포인트들은 O'Hare 및 Midway airport 위치들임을 결정할 수 있다.
다른 구현예들에서, 하나 이상의 스타팅 포인트들을 결정하고 네비게이션 경로들을 생성하는 기법들은 클라이언트 컴퓨팅 디바이스 상에서 구현될 수 있다.
예시적인 하드웨어 및 소프트웨어 컴포넌트들
도 1을 참조하면, 예시적인 통신 시스템은 클라이언트 컴퓨팅 디바이스(10)(또한 본 명세서에서 "클라이언트 디바이스"로서 참조됨)를 포함하고, 상기 예시적인 통신 시스템 내에서 상기 요약된 기법들이 구현될 수 있다. 클라이언트 디바이스(10)는 예를 들면, 스마트 폰 또는 태블릿 컴퓨터와 같은 휴대용 디바이스 일 수 있다. 또한, 클라이언트 디바이스(10)는 랩탑 컴퓨터, 테스크탑 컴퓨터, 또는 개인용 정보 단말기(PDA)일 수 있다. 또한, 클라이언트 디바이스(10)는 제4 또는 제3 세대 셀룰러 네트워크(4G 또는 3G, 각각)와 같은 유선 또는 무선 통신 네트워크(32)를 통해, 다양한 콘텐츠 제공자들, 서버들 등과 통신할 수 있다. 클라이언트 디바이스(10)는 터치스크린과 같은 디스플레이(28)를 포함할 수 있다. 상기 디스플레이는 텍스트 인풋(text input)을 입력하기 위한 소프트웨어 키보드를 포함할 수 있다. 추가적으로, 클라이언트 디바이스(10)는 그래픽 프로세싱 유닛(GPU)(16), 하나 이상의 프로세서들 또는 CPU들(12), GPS 모듈(14), 메모리(20) 및 3G 셀룰러 네트워크, 4G 셀룰러 네트워크 또는 임의의 다른 적절한 네트워크를 통해 데이터를 송신 및 수신하기 위한 셀룰러 통신 유닛(18)을 포함할 수 있다.
메모리(20)는, 예를 들면, 운영 체계(24)의 명령어들, 및 동작하는 동안 맵핑 API를 인보크(invoke)하는 맵핑 어플리케이션(22)의 일부로서 스타팅 포인트 수신 유닛(26)을 저장할 수 있다. 스타팅 포인트 수신 유닛(26)은 목적지에 대응하고 사용자에 의해 지정된 지리적 위치를 결정한다. 더욱이, 스타팅 포인트 수신 유닛(26)은 스타팅 포인트 스코어링 엔진(38)으로부터 네비게이션 경로들을 수신한다.
소프트웨어 컴포넌트들(22, 24 및 26)은 임의의 적절한 프로그래밍 언어로 런타임에 해석할 수 있는 컴파일 된 명령어들 및/또는 명령어들을 포함한다. 어떤 경우에도, 소프트웨어 컴포넌트들(22, 24 및 26)은 하나 이상의 프로세서들(12)상에서 동작을 행한다.
맵핑 어플리케이션(22)은 일반적으로 각각 서로 다른 운영 체계들에 대해 서로 다른 버전으로 제공될 수 있다. 예를 들면, 클라이언트 디바이스(10)의 메이커는 Android 플랫폼에 대한 맵핑 어플리케이션(22)을 포함하는 소프트웨어 개발 키드(SDK), iOS 플랫폼에 대한 다른 SDK 등을 제공할 수 있다.
클라이언트 디바이스(10)는 장거래 무선 통신 링크(예를 들어, 셀룰러 링크)를 통해, 인터넷과 같은 광역 통신 네트워크(32)에 액세스한다. 클라이언트 디바이스(10)는 셀룰러 통신 유닛(18)을 통해 통신 네트워크(30)에 액세스할 수 있다. 도 1의 예시적인 구성에서, 클라이언트 디바이스(10)는 네비게이션 데이터를 제공하는 네비게이션 서버(32) 및 맵 데이터(예를 들어, 벡터 그래픽스 포멧(vector graphics format)으로)를 생성하는 맵 데이터 서버(36)와 통신한다.
3자 콘텐츠 서버(29)는 내장된 디지털 맵을 포함하는 웹 콘텐츠(30)를 클라이언트(10)에게 제공한다. 특히, 웹 콘텐츠(30)는 맵핑 API 호출(31)을 포함하고, 상기 맵핑 API를 통해 3자 콘텐츠 서버(29)는 지리적 위치 및 뷰포트를 지정할 수 있다. 예시적인 시나리오에서, 웹 콘텐츠(30)는 특정 지리적 위치에서 오프라인 비즈니스(brick-and-mortar business)를 설명한다. 비즈니스의 운영자는 잠재적인 고객들에게 이러한 지리적 위치를 표시하기 위해, 비즈니스의 운영자의 웹사이트 내에 상대적으로 작은 디지털 맵을 내장하기 원한다. 물론, 운영자는 이러한 잠재적인 고객들이 어디서부터 오는지 알 수 없다. 또한, 경로들을 검색하거나 그리고/또는 인보크하기 위해 UI 요소들을 디스플레이 하기 위한 충분한 스크린 실제 공간이 없을 수 있다. 다시 말해서, 상기 운영자가 웹 사이트에 방문하는 방문자들이 지역들-상기 지역들로부터 방문자들이 상기 지리적 위치에 도착함-을 지정할 수 있음을 이용하여 더 확고한 인터페이스(robust interface)를 제공하려고 시도하는 것은 비실용적이다. 따라서, 내장된 디지털 맵 위에(또는 함께) 디스플레이 하기 위해, 운영자는 스타팅 포인트들을 자동으로 검출하고, 네비게이션 경로들을 지리적 위치에 제공하기 위해 맵 데이터 서버(36)에 의존한다.
일부 구현예들에서, 맵 데이터 서버(36)는 메모리(37) 및 하나 이상의 프로세서들(39)를 포함한다. 메모리(37)는 유형의, 비-일시적인 메모리일 수 있고, 랜덤 액세스 메모리(RAM), 읽기-전용 메모리(ROM), 플래쉬 메모리, 영구적인 메모리의 다른 유형을 포함하는
적합한 메모리 모듈의 임의의 유형을 포함할 수 있다. 메모리(37)는 뷰포트 내 하나 이상의 지리적 위치들을 식별하고 네비게이션 경로들에 대해 하나 이상의 스타팅 포인트들을 결정하는 스타팅 포인트 스코어링 엔진(38)을 마크 업하는 프로세서들(39)상에서 동작을 행할 수 있는 명령어들을 포함한다.
하나 이상의 스타팅 포인트들을 결정하기 위해, 스타팅 포인트 스코어링 엔진(38)은 POI 데이터베이스(40)로부터 지리적 위치 또는 관심 지점이 사용자의 스타팅 포인트일 가능성과 관련된 정보를 수신한다. 예를 들면, 이러한 정보는 인기 데이터(popularity data)를 포함할 수 있다. 일단 하나 이상의 스타팅 포인트들이 결정되면, 스타팅 포인트 스코어링 엔진(38)은 네비게이션 경로들을 제공하기 위해 네비게이션 서버(32)를 호출하고, 스타팅 포인트 스코어링 엔진(38)은 네비게이션 경로들을 클라이언트 디바이스(10)에 전송한다. 다른 실시예들에서, 스타팅 포인트 스코어링 엔진(38)은 하나 이상의 스타팅 포인트들 및 목적지를 네비게이션 서버(32)에 전송하고, 네비게이션 서버(32)는 네비게이션 경로들을 생성하고, 이를 클라이언트 디바이스(10)에 전송한다.
또한, 메모리(37) 또는 다른 서버 내 메모리는 네비게이션 경로들을 생성하기 위해, 맵 데이터를 생성하거나 네비게이션 서버(32)를 호출하는 명령어들을 저장할 수 있다.
좀 더 일반적으로, 클라이언트 디바이스(10)는 적절한 임의의 수의 서버들과 통신한다. 예를 들면, 다른 실시예에서, 제안 서버(34)는 부분적인 사용자 입력에 기초하여 제안들을 생성하고, 교통 데이터 서버는 경로에 따라 교통 업데이트들을 제공하고, 날씨 데이터 서버는 날씨 데이터 및/또는 경보들 등을 제공한다.
간략성을 위해, 도 1은 데이터베이스의 단지 하나의 예시로서 POI 데이터베이스(40)를 도시한다. 그러나, 일부 구현예들에 따른 상기 POI 데이터베이스(40)는 하나 이상의 데이터베이스들의 그룹을 포함하고, 하나 이상의 데이터베이스들 각각은 서로 다른 정보를 저장한다. 추가적으로, 도 1은 서버의 단지 하나의 예시로서 맵 데이터 서버(36)를 도시한다. 그러나, 일부 구현예들에 따른 맵 데이터 서버(36)는 하나 이상의 맵 데이터 서버들을 포함하고, 하나 이상의 맵 데이터 서버들 각각은 하나 이상의 프로세서들을 구비하고, 다른 맵 데이터 서버들과 독립적으로 동작할 수 있다. 요청을 프로세싱 하는 것과 관련된 동작이 맵 데이터 서버 상에서 수행되는 동안, 동일한 요청을 프로세싱 하는 것과 관련된 다른 동작이 다른 맵 데이터 서버 상에서 수행되는 분산된 방식으로, 이러한 그룹 내에서 동작하는 맵 데이터 서버들은 클라이언트 디바이스(10)로부터
요청들을 개별적으로 프로세스할 수 있다. 본 논의의 목적을 위해, 용어 "맵 데이터"는 개별적인 맵 데이터 서버 또는 둘 이상의 맵 데이터 서버들의 그룹을 지칭할 수 있다.
예시적인 시나리오에 따르면, Chicago 내 San Francisco로 여행을 계획하는 사용자는 클라이언트 디바이스 상에 San Francisco의 부분들의 맵 콘텐츠를 디스플레이 한다. 사용자는 San Francisco 내에 몇 개의 목적지들을 선택하지만, 그녀가 어디에서부터 시작할지는 확실하지 않다. 그러나, 사용자는 네비게이션 경로들을 수신하기를 원하고, 여행하는 동안 사용자가 갈 일반적인 영역의 아이디어를 가지고 있다.
목적지로의 네비게이션 경로들이 디스플레이 되기 전에, 클라이언트 디바이스(10)는 사용자에 의해 선택된 뷰포트 내의 맵 콘텐츠를 디스플레이 한다. 도 2A, 2B 및 2C는 클라이언트 디바이스 상에 디스플레이 되는 3개의 서로 다른 뷰포트들에서 예시적인 맵 콘텐츠 및 목적지에 대한 네비게이션 경로들을 도시한다. 상기 목적지는 일반적으로 사용자에 의해 선택되고, 다양한 방식들로 선택된다. 예를 들면, 도 1을 참조하면, 사용자가 클라이언트 디바이스(10) 상의 맵 콘텐츠를 보는 경우, 사용자는 컴퓨터의 마우스, 랩탑의 트랙패드 또는 모바일 디바이스의 터치스크린을 통해, 목적지로 자동적으로 지정된 맵 상의 지리적 위치를 클릭한다. 대안적으로, 사용자는 소프트웨어 키보드 또는 외부 키보드를 통해, 맵 상에 디스플레이 되는 목적지 필드에 지리적 위치의 이름이나 주소를 입력할 수 있다. 또한 사용자는 목적지를 클릭하거나 터치하도록 프롬프트(prompt)되거나 사용자는 목적지를 전혀 선택할 필요가 없을 수 있다. 대신에, 예를 들면, 사용자가 소매점 웹사이트를 선택한 경우, 상기 웹사이트는 웹사이트 상의 목적지로 소매상의 위치를 포함할 수 있다. 또 다른 예시적인 시나리오에서, 사용자는 지리적 쿼리(geographic query)를 제출하면, 목적지가 자동적으로 디지털 맵 상에 디스플레이 된다 (또한 본 시나리오에서 맵 뷰포트는 자동적으로 선택될 수 있다.). 그러나, 이들은 단지 예시들이며, 목적지는 다양한 방식들로 선택될 수 있다.
어느 경우에서든, 목적지가 선택된 이후, 뷰포트 내의 지리적 위치들은 하나 이상의 스타팅 포인트들을 결정하기 위해 식별된다. 도 2A를 참조하면, 뷰포트는 클라이언트 디바이스(10) 상에 디스플레이 되는 특정 줌 레벨에서 전체 지리적 영역(50)을 포함한다. 상기 디스플레이는 지리적 영역을 줌 인(zoom in) 및 줌 아웃(zoom out)하기 위한 줌 버튼(60)을 포함한다. 추가적으로, 사용자는 맵의 일부에 마우스를 통해 더블 클릭함으로써 줌 할 수 있거나, 터치스크린의 경우 사용자는 더블 탭(tap) 또는 핀치(pinch)함으로써 줌 할 수 있다. 게다가, 또한 사용자는 추가적인 지리적 위치들을 보기 위해 디스플레이를 팬(pan)할 수 있다. 사용자는 클릭, 드래그(drag), 스크롤(scroll), 플릭크(flick) 등을 함으로써, 팬 할 수 있다.
도 2A의 예시에서, San Francisco 내 the Museum of Modern Art(MoMa-SF)(42)가 목적지로 선택되었고, 아이스-크림 콘 모양의 태그에 의해 경계가 표시된다. 도 2A의 뷰포트(50) 내에서, 지리적 위치들이 하나 이상의 스타팅 포인트들을 결정하기 위해 식별된다. 예를 들면, Montgomery Station(44), the Four Seasons Hotel San Francisco(46), GreenCitizen Inc.(48), Yerba Buena Gardens(52) 등은 네비게이션 경로들을 생성하기 위해 하나 이상의 스타팅 포인트들을 결정하도록 랭크될 수 있는 뷰포트(48) 내의 지리적 위치들이다. 지리적 위치들이 식별된 후, 스타팅 포인트 스코어링 엔진(38)은 (도 1 내에 도시된 바와 같이) 각 지리적 위치가 사용자에 대한 스타팅 포인트일 가능성을 결정한다.
가능성을 결정하기 위해, 스타팅 포인트 스코어링 엔진(38)은 뷰포트(50)의 줌 레벨을 고려한다. 뷰포트가 높은 레벨에서 줌 된 경우, 스타팅 포인트 스코어링 엔진은 사용자가 타운의 매우 특정 부분 내에 있음을 추정하고, 타운의 상기 특정 부분 내의 관심 장소들, POI들, 도로들, 교통 중심지들에서 시작할 가능성을 추정한다. 반면에, 만일 뷰포트가 줌 아웃 되었다면, 스타팅 포인트 스코어링 엔진(38)은 사용자가 훨씬 먼 위치로부터 시작하고 있을 수 있다고 추정한다. 그러므로, 주요 고속도로들 또는 심지어 공항들이 사용자에 대한 스타팅 포인트일 가능성이 더 있을 수 있다.
또한 스타팅 포인트 스코어링 엔진(38)은 지리적 위치의 인기를 감안한다. 이는, 예를 들면, 소셜 네트워킹 사이트를 사용하여 특정 위치에 "체크 인" 된 사람의 수에 의해 결정될 수 있다. 추가적으로, 인기는 지리적 위치가 사적(historical landmark)인지 또는 잘-알려진 관광 명소인지 여부를 식별하는 것에 의해 결정될 수 있다. 게다가, 또한 년(time of year) 및 일(time of day)은 지리적 위치의 인기에 영향을 미친다. 예를 들면, Wrigley Field는 겨울 보다 여름 동안에 인기가 더 높게 랭크 될 수 있다.
지리적 위치에 대한 접근성은 지리적 위치가 사용자에 대한 스타팅 포인트일 가능성을 결정하기 위한 다른 요소가 될 수 있다. 접근성은 지리적 위치로의 가능한 교통 수단과 관련된다. 예를 들면, 고속도로 출구는 자동차를 요구할 가능성이 높은 반면에 공항은 비행기를 요구할 가능성이 높기 때문에, 공항은 고속도로 출구보다 덜 액세스 할 수 있다. 상기 포인트에서 더 나아가, 누구나 대중 교통을 이용할 수 있기 때문에, 기차역과 같은 대중 교통 중심지는 고속도로 출구보다 더 액세스 할 수 있다. 또한, 지리적 위치가 스타팅 포인트일 가능성을 결정하기 위해 상기 지리적 위치로부터 목적지까지의 거리가 사용될 수 있다. 그러나, 이는 배타적인 리스트가 아니고, 다양한 요소들이 지리적 위치가 사용자에 대해 스타팅 포인트일 가능성을 결정하는데 사용될 수 있다.
각 요소는 스코어를 수신하고, 요소들에 대한 스코어는 총계 스코어를 결정하기 위해 추가된다. 각 지리적 위치에 대한 총계 스코어들은 지리적 위치들을 랭크 하기 위해 비교된다. 다른 실시예들에서, 지리적 위치들은 각 요소에 따라 랭크되고, 여러 요소들에 걸친 그들의 평균 랭킹에 기초하여 다시 랭크 된다. 그러나, 지리적 위치들은 다양한 방식으로 랭크 될 수 있다.
도 2A의 예시로 돌아가면, Montgomery Station(44)은 뷰포트(50) 내 지리적 위치들 중 가장 높은 랭킹 위치이고, 결과적으로, Montgomery Station(44)은 네비게이션 경로들에 대한 스타팅 포인트이다. 이는 Montgomery Station은 쉽게 액세스할 수 있는 교통 중심지이기 때문일 수 있다. 또한, Montgomery Station은 가장 인기 있는 기차역일 수 있다. 어느 경우에서든, 일단 스타팅 포인트 스코어링 엔진(38)이 스타팅 포인트를 결정하면, 네비게이션 경로들(56)이 스타팅 포인트부터 목적지까지 생성된다. 도 2A에 도시된 바와 같이, 상기 경로들은 교통 수단(58)에 기초하여 목적지에 도착하기 위한 시간의 길이에 대한 표시를 포함한다.
네비게이션 서버(32)(도 1에 도시된 바와 같은)가 경로들을 생성하도록 하기 위해, 스타팅 포인트 및 목적지에 더하여 네비게이션 서버(32)는 또한 교통 수단의 표시를 수신한다. 사용자는 도보, 자동차, 대중 교통 또는 자전거(미도시)에 대한 버튼을 선택함으로써 뷰포트(50) 상의 대중 교통을 선택한다. 대안적으로, 스타팅 포인트 스코어링 엔진(38)은 스타팅 포인트 및 다른 요소들에 기초하여 적당한 교통 수단을 결정한다. 예를 들면, the Museum of Modern Art(42)까지 가장 가까운 기차역 또는 버스정류장은 Montgomery Station(44)인바, 사용자가 Montgomery Station(44)에서 나올 가능성이 가장 높기 때문에, Montgomery Station(44)에서 the Museum of Modern Art(42)까지의 적당한 교통 수단은 도보일 수 있다. 또한, Montgomery Station(44)에서 the Museum of Modern Art(42)까지의 거리는 매우 짧아서, 도보일 가능성이 있다. 반면에, 만일 스타팅 포인트가 고속도로 출구라면, 교통 수단은 도보, 자전거 또는 대중 교통 이용보다 자동차일 가능성이 훨씬 높다. 그러므로, 네비게이션 서버(32)는 Montgomery Station(44)에서 the Museum of Modern Art(42)까지의 도보 경로들을 생성하기 위해 요청을 수신하고, 상기 경로들(56)이 뷰포트(50) 상에 디스플레이 된다.
이제 도 2B로 돌아가면, 뷰포트(70)는 사용자가 목적지를 변경하지 않고 줌 레벨은 동일하나, 사용자가 남동쪽으로 팬 했음을 표시한다. 사용자가 맵 상의 줌 레벨을 팬 하거나 변경한 경우, 하나 이상의 스타팅 포인트들을 결정하고 네비게이션 경로들을 제공하는 것에 더하여, 맵 데이터 서버(36)(도 1에 도시된 바와 같은)는 새로운 뷰포트에 대한 맵 데이터를 생성하고 상기 맵 데이터를 클라이언트 디바이스(10)에 전송한다. 도 2B의 예시적인 뷰포트(70)에서, Montgomery Station은 더 이상 뷰포트(70) 내에 없다. 도 2A의 뷰포트(50)로부터 GreenCitizen Inc.(48) 및 Yerba Buena Gardens(52)와 같은 일부 지리적 위치들이 여전히 존재하는 반면에, US Highway 80 Exit 3rd Street(62), WestEd(64) 및 Ceatrice Polite Apartmens(66)과 같은 많은 새로운 위치들이 있다. 본 예시에서, US Highway 80 Exit 3rd Street(62)는 사용자에 대해 가장 가능성이 높은 스타팅 포인트로서 결정된다. 이는 Highway(80)의 인기 때문일 수 있고, Exit 3rd Street가 the Museum of Modern Art(42)에 가장 가까운 고속도로 출구이기 때문일 수 있다. 결과적으로, 자동차 경로들(72)이 US Highway 80 Exit 3rd Street(62)에서 the Museum of Modern Art(42)까지 디스플레이 된다.
도 2C는 제3 뷰포트(80)에서 맵 콘텐츠의 예시적인 디스플레이 및 도 2A 및 도 2B 내 동일한 목적지(42)에 대한 네비게이션 경로들을 도시한다. 본 뷰포트(80)에서, 사용자는 뷰포트들(50 및 70)로부터 상당히 줌 아웃 한 것으로 보인다. 결과적으로, 맵 데이터 서버(36)(도 1에 도시된 바와 같은)는 새로운 뷰포트에 대한 맵 데이터를 생성하고 상기 맵 데이터를 클라이언트 디바이스(10)에 전송한다. 뷰포트가 이러한 낮은 줌 레벨에 있기 때문에, 디스플레이 된 유일한 지리적 위치들은 San Francisco International Airport(SFO)(82) 및 Los Angeles International Airport(LAX)(84)와 같은 국제 공항이다. 이러한 상황에서, 사용자는 나라의 다른 부분 또는 다른 나라에서 지리적 위치를 보고 있을 가능성이 있고, 그러므로 공항들이 사용자의 스타팅 포인트일 가능성이 훨씬 높다.
LAX(84)보다 SFO(82)가 the Museum of Modern Art(42)에 더 가깝기 때문에, 스타팅 포인트 스코어링 엔진(38)은 SFO(82)를 스타팅 포인트로 결정하고 SFO(82)에서 the Museum of Modern Art(42)까지의 네비게이션 경로들을 요청한다. 만일 사용자가 교통 수단을 선택하지 않는다면, 스타팅 포인트 스코어링 엔진은 적당한 교통 수단을 자동차 또는 대중 교통으로 결정하고 the Museum of Modern Art(42)로의 자동차 또는 대중 교통 경로들을 제공할 수 있다.
도 2A 내지 2C의 각 예시들에서, 단지 하나의 스타팅 포인트가 결정되고, 하나의 스타팅 포인트에서 목적지까지의 경로들이 디스플레이 되었다. 그러나, 상기 언급한 바와 같이, 여러 스타팅 포인트들이 결정될 수 있고, 여러 스타팅 포인트들에서의 경로들이 디스플레이 될 수 있다. 상기 여러 스타팅 포인트들은 스타팅 포인트들의 지정된 수가 선택될 때까지, 여러 스타팅 포인트들의 랭킹에 대해 내림차순으로 지리적 위치들을 선택함으로써 결정될 수 있다. 상기 스타팅 포인트들의 수는 클라이언트 디바이스(10)의 맵핑 어플리케이션(22)(도 1에 도시된 바와 같은) 상의 설정을 토글(toggle)함으로써, 사용자에 의해 지정될 수 있다. 대안적으로, 스타팅 포인트들의 기본 수(default number)가 지정될 수 있다.
도 3은 스타팅 포인트를 지정함이 없이 네비게이션 경로들을 제공하는 예시적인 방법(100)을 도시하며, 상기 방법(100)은, 예를 들면, 네트워크 서버(도 1의 맵 데이터 서버(36)와 같은)에서 구현될 수 있다. 다른 구현예들에서 방법(100)은 클라이언트 디바이스(도 1의 디바이스(10)와 같은) 상에서 구현될 수 있거나, 부분적으로 네트워크 서버 내에서 그리고 부분적으로 클라이언트 디바이스 내에서 구현될 수 있다. 방법(100)은, 예를 들면, 컴퓨터-판독가능한 매체 상에 저장된 명령어들을 실행하는 하나 이상의 프로세서들과 같은 하드웨어를 프로세싱 하는 것을 이용하여 실행될 수 있다.
블록(102)에서, 디지털 맵을 디스플레이 하기 위한 맵 뷰포트의 선택이 수신된다. 상기 맵 뷰포트는, 예를 들면, 맵 뷰포트의 네 모퉁이에서 위치들의 지리적 좌표에 의해 설명될 수 있다. 상기 논의된 바와 같이, 사용자는 검색 쿼리를 제출, 디지털 맵이 내장된 웹 사이트를 방문 등을 함으로써 맵 뷰포트를 수동으로 또는 자동으로 선택할 수 있다.
블록(104)에서, 맵 뷰포트 내의 목적지에 대응하는 지리적 위치의 선택이 수신된다. 방법(100)에 따르면, 스타팅 포인트의 선택이 사용자로부터 수신되지 않음이 주목된다. 그 후, 맵 뷰포트 내의 하나 이상의 후보 스타팅 포인트들이 식별(블록 106)된다. 이러한 후보 스타팅 포인트들은 일반적으로 사람들이 상기 맵 뷰포트 내의 다른 지역들로부터 보다 상기 후보 스타팅 포인트들로부터 상기 지리적 위치에 액세스할 가능성이 더 있는 지리적 위치들이다. 이러한 후보 스타팅 포인트들은 사용자의 프로필을 고려하여 선택될 필요는 없다: 예를 들면, 교통 중심지, POI들(예를 들어, 모짜르트 공원) 등이 선택될 수 있다.
다음으로, 하나 이상의 스타팅 포인트들은 대응하는 지리적 위치의 인기, 접근성, 목적지로부터의 거리 등에 기초하여, 후보 스타팅 포인트들 중에서 선택(블록 108)된다. 그 후 상기 하나 이상의 선택된 스타팅 포인트들에서 목적지까지의 네비게이션 경로들이 생성(블록 110)된다. 만일 블록(110)이 네트워크 서버 내에서 구현된 경우, 이러한 네비게이션 경로들은 클라이언트 디바이스로 제공된다. 블록(112)에서 상기 네비게이션 경로들에 대한 시각화가 생성된다. 일반적으로, 시각화는 텍스트-기반 또는 그래픽스-기반일 수 있고, 디지털 맵의 일부로서 또는 별도로 제공될 수 있다.
만일 블록(114)에서 맵 뷰포트 내 변경이 검출되면, 흐름은 블록(104)로 돌아가서 블록들(104 내지 112)의 실행이 반복된다. 만일 뷰포트가 이전에 선택된 지리적 위치를 여전히 포함하면, 블록(104)는 재-실행될 필요가 없고, 새로운 후보 스타팅 포인트들, 네비게이션 경로들 등이 생성될 수 있다. 그러나, 뷰포트가 더 이상 이전에 선택된 지리적 위치를 포함하지 않으면, 새로운 지리적 선택이 선택되고, 블록들(104 내지 112) 각각이 실행된다. 만일 블록(114)에서 사용자가 줌 또는 팬을 하지 않았음이 결정되면, 방법(100)은 종료한다.
도 4는 스타팅 포인트를 지정함이 없이 네비게이션 경로들을 수신하는 예시적인 방법(120)을 도시하며, 상기 방법(120)은 클라이언트 디바이스(10) 또는 유사한 디바이스 내에서 구현될 수 있다. 방법(100)과 유사하게, 방법(120)은 컴퓨터-판독가능한 매체 상에 저장된 명령어들로서 구현될 수 있고, 하나 이상의 프로세서들 상에서 동작을 행할 수 있다.
블록(122)에서, 클라이언트 디바이스는 네비게이션 경로들에 대해 목적지에 대응하는 지리적 위치를 결정한다. 상기 언급한 바와 같이, 상기 지리적 위치는 사용자에 의해 선택될 수 있거나 클라이언트 디바이스에서 자동으로 선택될 수 있다. 후속적으로, 클라이언트 디바이스는, 상기 클라이언트 디바이스 상에 디스플레이 되는 뷰포트에 대해, 스타팅 포인트를 지정함이 없이, 네비게이션 경로들에 대한 요청을 자동으로 전송(124)한다. 상기 요청은 목적지를 정의하는 지리적 위치의 표시 및 맵 뷰포트의 표시를 포함할 수 있다. 이에 응답하여, 클라이언트 디바이스는 하나 이상의 스타팅 포인트들에서 목적지까지의 네비게이션 경로들을 수신(126)한다. 만일 사용자가 경로들을 수신 한 후 줌 하거나 팬하였다면(블록 128), 흐름은 블록(124)로 돌아가고, 클라이언트 디바이스는 새로운 뷰포트로부터 네비게이션 경로들에 대한 요청을 전송하고 프로세스는 반복된다. 그렇지 않으면, 프로세스는 종료한다.
추가적인 고려사항들
다음과 같은 추가 고려 사항은 전술한 내용에 적용된다. 본 명세서 전반을 통하여, 복수의 인스턴스들이 하나의 인스턴스로 전술한 컴포넌트들, 동작들 또는 구조들을 구현할 수 있다. 비록 하나 이상의 방법들의 개별 동작들이 도시되고 개별 동작으로서 설명되었지만, 개별 동작들 중 하나 이상이 동시에 수행될 수 있고, 어떤 동작도 도시된 순서로 수행되어야 함을 요하지 않는다. 예에서 개별 컴포넌트로서 제시된 구조와 기능들은 결합된 구조 또는 컴포넌트로서 구현될 수 있다. 마찬가지로, 단일 컴포넌트로서 제시된 구조와 기능은 별개의 컴포넌트로서 구현될 수 있다. 이들 및 다른 변형, 수정, 추가 및 개선은 본 발명의 요지의 범위 내에 속한다.
추가적으로, 특정 실시예가 로직 또는 소정 수의 컴포넌트, 모듈 또는 메커니즘을 포함하는 것으로 여기서 설명되어 있다. 모듈은 소프트웨어 모듈(예를 들어, 전송 신호로 또는 머신-가독 매체 상에 구체화된 코드) 또는 하드웨어 모듈을 구성할 수 있다. 하드웨어 모듈은 특정 동작을 수행할 수 있는 유형적 유닛이고 특정 방식으로 구성 또는 배열될 수 있다. 예시의 실시예에 있어서, 하나 이상의 컴퓨터 시스템(예를 들어, 스탠드얼론, 클라이언트 또는 서버 컴퓨터 시스템) 또는 컴퓨터 시스템의 하나 이상의 하드웨어 모듈(예를 들어, 프로세서 또는 프로세서 그룹)은 여기서 설명되는 바와 같은 특정 동작을 수행하도록 동작하는 하드웨어 모듈로서 소프트웨어(예를 들어, 애플리케이션 또는 애플리케이션 부분)에 의해 구성될 수 있다.
다양한 실시예에 있어서, 하드웨어 모듈은 기계적으로 또는 전자적으로 구현될 수 있다. 예를 들어, 하드웨어 모듈은 특정 동작을 수행하도록 (예를 들어, 필드 프로그래밍 가능한 게이트 어레이(FPGA) 또는 애플리케이션-특정 집적 회로(ASIC)와 같은 특수-목적 프로세서로서) 영구적으로 구성되는 전용 회로 또는 로직을 포함할 수 있다. 또한 하드웨어 모듈은 특정 동작을 수행하도록 소프트웨어에 의해 일시적으로 구성되는 (예를 들어, 범용 프로세서 또는 다른 프로그래밍 가능한 프로세서 내 포함되는 바와 같은) 프로그래밍 가능한 로직 또는 회로를 포함할 수 있다. 전용 및 영구적으로 구성된 회로로 또는 (예를 들어, 소프트웨어에 의해 구성된) 일시적으로 구성된 회로로, 기계적으로 하드웨어 모듈을 구현하는 결정은 비용 및 시간을 고려하여 유도될 수 있음을 인식할 것이다.
따라서, "하드웨어"라는 용어는 엔티티가 여기서 설명된 소정 동작을 수행하기 위해 또는 소정 방식으로 동작하기 위해 물리적으로 구성되든, 영구적으로 구성되든(예를 들어, 하드와이어드) 또는 일시적으로 구성되든(예를 들어, 프로그래밍) 그러한 유형적 엔티티를 아우르는 것으로 이해되어야 한다. 하드웨어 모듈이 일시적으로 구성되는(예를 들어, 프로그래밍되는) 실시예를 고려하면, 하드웨어 모듈의 각각이 어느 일 순시에서라도 실체화 또는 구성될 필요가 없다. 예를 들어, 하드웨어 모듈이 소프트웨어를 사용하여 구성된 범용 프로세서를 포함하는 경우에, 범용 프로세서는 다른 시각에서 각자의 다른 하드웨어 모듈로서 구성될 수 있다. 따라서, 소프트웨어는 예를 들어 일 순시에서 특정 하드웨어 모듈을 구성하도록 그리고 다른 순시에서 다른 하드웨어 모듈을 구성하도록 프로세서를 구성할 수 있다.
하드웨어 및 소프트웨어 모듈은 다른 하드웨어 및/또는 소프트웨어 모듈에정보를 제공하고 그로부터 정보를 수신할 수 있다. 따라서, 설명된 하드웨어 모듈은 통신 결합되는 것으로 생각될 수 있다. 다중의 그러한 하드웨어 또는 소프트웨어 모듈이 동시에 존재하는 경우에, 통신은 하드웨어 또는 소프트웨어 모듈을 접속하는 신호 전송을 통해 (예를 들어, 적절한 회로 및 버스를 통해) 달성될 수 있다. 다중의 하드웨어 모듈 또는 소프트웨어가 서로 다른 시각에 실체화 또는 구성되는 실시예에 있어서, 그러한 하드웨어 또는 소프트웨어 모듈 사이의 통신은 예를 들어 다중 하드웨어 또는 소프트웨어 모듈이 액세스할 수 있는 메모리 구조에 정보의 저장 및 검색을 통해 달성될 수 있다. 예를 들어, 하나의 하드웨어 또는 소프트웨어 모듈은 동작을 수행하고 그 동작의 출력을 그것이 통신 결합되는 메모리 디바이스에 저장할 수 있다. 그 후, 추후 시각에, 또 다른 하드웨어 또는 소프트웨어 모듈이 저장된 출력을 검색 및 프로세싱하기 위해 메모리 디바이스에 액세스할 수 있다. 또한 하드웨어 및 소프트웨어 모듈은 입력 또는 출력 디바이스와의 통신을 개시할 수 있고, 자원(예를 들어, 정보 모음) 상에 동작할 수 있다.
여기서 설명된 예시의 방법의 다양한 동작은, 적어도 일부, 관련 동작을 수행하기 위해 영구적으로 구성되거나 (예를 들어, 소프트웨어에 의해) 일시적으로 구성되는 하나 이상의 프로세서에 의해 수행될 수 있다. 일시적으로 구성되든 영구적으로 구성되든, 그러한 프로세서는 하나 이상의 동작 또는 기능을 수행하도록 동작하는 프로세서-구현된 모듈을 구성할 수 있다. 여기서 지칭되는 모듈은 어떤 예의 실시예에서는 프로세서-구현된 모듈을 포함할 수 있다.
유사하게, 여기서 설명되는 방법 또는 루틴은 적어도 일부 프로세서-구현될 수 있다. 예를 들어, 방법의 동작의 적어도 일부는 하나 이상의 프로세서 또는 프로세서-구현된 하드웨어 모듈에 의해 수행될 수 있다. 동작 중 어떤 것의 수행은 단일 머신 내 상주하는 것뿐만 아니라 소정 수의 머신에 걸쳐 배치되는 하나 이상의 프로세서 사이에 분산될 수 있다. 어떤 예의 실시예에 있어서, 프로세서 또는 프로세서들은 단일 위치에 (예를 들어, 집환경, 사무소 환경 내 또는 서버 팜으로서) 위치할 수 있는 한편, 다른 실시예에서는 프로세서들이 소정 수의 위치에 걸쳐 분산될 수 있다.
또한, 하나 이상의 프로세서는 "클라우드 컴퓨팅" 환경에서 또는 "서비스형 소프트웨어"(SaaS)로서 관련 동작의 수행을 지원하도록 동작할 수 있다. 예를 들어, 동작의 적어도 일부는 (프로세서를 포함하는 머신의 예로서) 컴퓨터 그룹에 의해 수행될 수 있고, 이들 동작은 네트워크(예를 들어, 인터넷)를 통해 그리고 하나 이상의 적절한 인터페이스(예를 들어, 애플리케이션 프로그램 인터페이스(API))를 통해 액세스 가능하다.
동작 중 어떤 것의 수행은 단일 머신 내 상주하는 것뿐만 아니라 소정 수의 머신에 걸쳐 배치되는 하나 이상의 프로세서 사이에 분산될 수 있다. 어떤 예의 실시예에 있어서, 하나 이상의 프로세서 또는 프로세서-구현된 모듈은 단일 지리적 위치에 (예를 들어, 집 환경, 사무소 환경 또는 서버 팜 내) 위치할 수 있다. 다른 예의 실시 예에 있어서, 하나 이상의 프로세서 또는 프로세서-구현된 모듈은 소정 수의 지리적 위치에 걸쳐 분산될 수 있다.
본 명세서의 일부는 머신 메모리(예를 들어, 컴퓨터 메모리) 내에 비트 또는 이진 디지털 신호로서 저장된 데이터 상에의 동작의 기호적 표현 또는 알고리즘의 관점에서 제시되고 있다. 이들 알고리즘 또는 기호적 표현은 다른 당업자에게 그 작업의 실체를 전하기 위해 데이터 프로세싱 분야의 당업자에 의해 사용된 기술의 예이다. 여기서 사용되는 바와 같이, "알고리즘" 또는 "루틴"은 소망의 결과에 이르는 자기 모순 없는 동작 시퀀스 또는 유사한 프로세싱이다. 이러한 맥락에 있어서, 알고리즘, 루틴 및 동작은 물리적 수량의 물리적 조작을 관련시킨다. 전형적으로, 반드시 그런 것은 아니지만, 그러한 수량은 머신에 의해 저장되거나, 액세스되거나, 전송되거나, 조합되거나, 비교되거나 그렇지 않으면 조작될 수 있는 전기적, 자기적 또는 광학적 신호의 형태를 취할 수 있다. 때로는, 주로 공통 용례의 이유로, "데이터", "컨텐트", "비트", "값", "엘리먼트", "심벌", "캐릭터", "텀즈", "넘버", "숫자" 등과 같은 단어를 사용하여 그러한 신호를 가리키는 것이 편리하다. 그렇지만, 이들 단어는 단지 편리한 라벨일 뿐이고 적절한 물리적 수량과 연관되는 것이다.
특별히 달리 서술되지 않는 한, "프로세싱", "컴퓨팅", "계산", "결정", "제시", "디스플레이" 등과 같은 단어를 사용하는 여기서의 논의는 정보를 수신, 저장, 전송 또는 디스플레이하는 하나 이상의 메모리(예를 들어, 휘발성 메모리, 비-휘발성 메모리 또는 그 조합), 레지스터 또는 다른 머신 컴포넌트 내 물리적(예를 들어, 전자적, 자기적 또는 광학적) 수량으로 표현된 데이터를 조작 또는 변환하는 머신(예를 들어, 컴퓨터)의 액션 또는 프로세스를 지칭할 수 있다.
여기서 사용되는 바와 같이 "일 실시예" 또는 "실시예"의 어떠한 지칭이라도 실시예와 연관하여 설명된 특정 엘리먼트, 특징, 구조 또는 특성이 적어도 하나의 실시예에 포함됨을 의미한다. 명세서에 다양한 곳에서 문구 "일 실시예에 있어서"의 나타남은 반드시 모두 동일 실시예를 가리키는 것은 아니다.
일부 실시예는 그 파생어와 함께 "결합" 및 "접속"이라는 표현을 사용하여 설명될 수 있다. 예를 들어, 일부 실시예는 2개 이상의 엘리먼트가 직접적 물리적 또는 전기적 접촉하고 있음을 나타내기 위해 용어 "결합"을 사용하여 설명될 수 있다. 그렇지만, 용어 "결합"은 또한 2개 이상의 엘리먼트가 서로 직접 접촉하고 있지는 않지만 여전히 서로 협력하거나 상호작용함을 의미할 수도 있다. 실시예는 이러한 맥락에 한정되지는 않는다.
여기서 사용되는 바와 같이, 용어 "포함하고 있다", "포함하고 있는", "포함한다", "포함하는", "갖는다", "갖는" 또는 그 어느 다른 변종은 비-배타적 포함을 커버하려는 의도이다. 예를 들어, 엘리먼트의 리스트를 포함하는 프로세스, 방법, 물품 또는 장치는 반드시 그러한 엘리먼트만으로 한정되는 것은 아니고 그러한 프로세스, 방법, 물품 또는 장치에 고유하거나 명시적으로 열거되지 않은 다른 엘리먼트를 포함할 수 있다. 더욱, 명시적으로 반대로 서술되지 않는 한, "또는"은 배타적 또는이 아니라 포함적 또는을 지칭한다. 예를 들어, 조건 A 또는 B는 다음 중 어느 하나에 의해 만족된다: A는 참(또는 존재)이고 B는 거짓(또는 존재하지 않음), A는 거짓(또는 존재하지 않음)이고 B는 참(또는 존재), 그리고 A와 B 둘 다 참(또는 존재).
부가하여, 부정관사의 사용은 여기에서의 실시예의 엘리먼트 및 컴포넌트를 설명하기 위해 채용된다. 이것은 단지 편의성을 위해 그리고 설명의 일반적 의미를 부여하기 위해 행해진다. 이러한 설명은 하나 또는 적어도 하나를 포함하는 것으로 읽혀져야 하고 단수형은 또한 그것이 달리 의미함이 명백하지 않는 한 복수형을 포함한다.
본 개시를 읽을 때, 당업자는 여기서 개시된 원리를 사용하여 스타팅 포인트들의 선택을 수신함이 없이 사용자에게 네비게이션 경로들을 제공하기 위한 추가적인 대안의 구조적 및 기능적 설계를 인식할 것이다. 그래서, 특정 실시예 및 애플리케이션이 예시 및 설명되었지만, 개시된 실시예는 여기서 개시된 바로 그 구성 및 컴포넌트로 한정되는 것은 아님을 이해해야 한다. 당업자에게 명백할 다양한 수정, 변경 및 변형은 첨부 청구범위에서 정의된 취지 및 범위로부터 벗어남이 없이 여기서 개시된 방법 및 장치의 배열, 동작 및 상세로 이루어질 수 있다.
Claims (20)
- 맵핑 어플리케이션들 내 네비게이션 경로들(navigation directions)을 제공하는 방법에 있어서,
하나 이상의 컴퓨팅 디바이스들에서, 지리적 위치(geographic location)의 표시를 수신하는 단계와, 상기 지리적 위치는 목적지 위치이며;
상기 하나 이상의 컴퓨팅 디바이스들에서, 상기 지리적 위치를 포함하는 사용자 디바이스로부터 맵 뷰포트(map viewport)의 표시를 수신하는 단계와;
상기 하나 이상의 컴퓨팅 디바이스들에 의해, 상기 맵 뷰포트 내에서, 복수의 후보 스타팅 포인트(candidate starting point)들을 식별하는 단계와, 상기 맵 뷰포트 내에서 사람들이 다른 지역들에서 상기 지리적 위치에 액세스하는 것보다 상기 복수의 후보 스타팅 포인트들에서 상기 지리적 위치에 액세스 하는 가능성이 더 높으며;
상기 복수의 후보 스타팅 포인트들 중에서부터 스타팅 포인트를 선택하는 단계와; 그리고
상기 사용자 디바이스 상에 디스플레이 하기 위해, 상기 스타팅 포인트에서 상기 지리적 위치까지 상기 사용자 디바이스의 사용자를 안내하는 네비게이션 경로들을 생성하는 단계를 포함하는 것을 특징으로 하는 맵핑 어플리케이션들 내 네비게이션 경로들을 제공하는 방법. - 청구항 1에 있어서,
상기 복수의 후보 스타팅 포인트들을 식별하는 단계는, 상기 하나 이상의 컴퓨팅 디바이스들에 의해, (ⅰ) 교통 중심지(transportation hub) (ⅱ) 관심 지점(point of interest) 또는 (ⅲ) 주요 도로의 출구(exit from major road) 중 하나 이상을 식별하는 것을 포함하는 것을 특징으로 하는 맵핑 어플리케이션들 내 네비게이션 경로들을 제공하는 방법. - 청구항 1에 있어서,
상기 복수의 후보 스타팅 포인트들 중에서부터 상기 스타팅 포인트를 선택하는 단계는, 상기 하나 이상의 컴퓨팅 디바이스들에 의해, (ⅰ) 인기(popularity) (ⅱ) 접근성 스코어(accessibility score) 및 (ⅲ) 상기 지리적 위치까지의 거리 중 하나 이상에 기초하여 상기 복수의 후보 스타팅 포인트들을 랭크(rank)하는 것을 포함하는 것을 특징으로 하는 맵핑 어플리케이션들 내 네비게이션 경로들을 제공하는 방법. - 청구항 3에 있어서,
상기 복수의 후보 스타팅 포인트들을 랭크하는 것은, 스타팅 포인트가 오직 자동차에 의해 액세스 할 수 있는 경우 보다 상기 스타팅 포인트가 대중 교통에 의해 액세스 할 수 있는 경우, 상기 스타팅 포인트에 더 높은 접근성 스코어를 할당하는 것을 포함하는 것을 특징으로 하는 맵핑 어플리케이션들 내 네비게이션 경로들을 제공하는 방법. - 청구항 1에 있어서,
상기 네비게이션 경로들을 생성하는 단계는, 상기 하나 이상의 컴퓨팅 디바이스들에 의해, 사용자에 대한 교통 수단(mode of transportation)을 자동으로 결정하는 것을 포함하는 것을 특징으로 하는 맵핑 어플리케이션들 내 네비게이션 경로들을 제공하는 방법. - 청구항 1에 있어서,
상기 사용자가 상기 맵 뷰포트를 변경(reposition)하였다는 표시를 수신하는 단계와, 상기 변경된 맵 뷰포트는 상기 지리적 위치를 여전히 포함하며; 그리고
상기 수신된 표시에 응답하여,
새로운 복수의 후보 스타팅 포인트들을 자동으로 식별하는 단계와;
상기 새로운 복수의 후보 스타팅 포인트들 중에서부터 새로운 스타팅 포인트를 선택하는 단계와;
상기 새로운 스타팅 포인트에서 상기 지리적 위치까지 상기 사용자를 안내하는 새로운 네비게이션 경로들을 생성하는 단계와; 그리고
상기 사용자 디바이스 상에 디스플레이 하기 위해, 상기 새로운 네비게이션 경로들의 새로운 시각화(visualization)를 생성하는 단계를 더 포함하는 것을 특징으로 하는 맵핑 어플리케이션들 내 네비게이션 경로들을 제공하는 방법. - 청구항 1에 있어서,
상기 복수의 후보 스타팅 포인트들을 식별하는 단계는 상기 사용자 디바이스의 상기 사용자의 프로필과 독립적인 것을 특징으로 하는 맵핑 어플리케이션들 내 네비게이션 경로들을 제공하는 방법. - 청구항 1에 있어서,
상기 지리적 위치를 포함하는 디지털 맵을 내장하는 3자 웹 사이트(third-party web site)로부터 상기 지리적 위치의 표시 및 상기 맵 뷰포트의 표시를 수신하는 것을 포함하는 것을 특징으로 하는 맵핑 어플리케이션들 내 네비게이션 경로들을 제공하는 방법. - 청구항 1에 있어서,
상기 사용자 디바이스의 상기 사용자에 의해 제출된 지리적 쿼리(geographic query)에 응답하여, 상기 지리적 위치의 표시 및 상기 맵 뷰포트의 표시를 수신하는 것을 포함하는 것을 특징으로 하는 맵핑 어플리케이션들 내 네비게이션 경로들을 제공하는 방법. - 네비게이션 경로들을 자동으로 수신하는 클라이언트 디바이스 내의 방법에 있어서, 상기 방법은:
사용자 인터페이스를 통해 현재 맵 뷰포트 내의 디지털 맵을 디스플레이 하는 단계와;
하나 이상의 프로세스들에 의해, 상기 현재 맵 뷰포트 내의 지리적 위치를 결정하는 단계와;
상기 하나 이상의 프로세스들에 의해, 통신 네트워크를 통해 상기 지리적 위치의 표시 및 상기 현재 맵 뷰포트의 표시를 네트워크 서버에 전송하는 단계와, 상기 지리적 위치는 목적지 위치이며;
상기 하나 이상의 프로세스들에서 상기 네트워크 서버로부터,
(ⅰ) 상기 네트워크 서버에 의해 지역으로서 자동으로 선택된 상기 뷰포트 내의 스타팅 포인트의 표시 및, 사용자들이 상기 지역에서 상기 지리적 위치에 액세스 하는 가능성이 더 높으며,
(ⅱ) 상기 스타팅 포인트에서 상기 지리적 위치까지 이동(travel)하는 네비게이션 경로들을 수신하는 단계와; 그리고
상기 사용자 인터페이스를 통해 상기 네비게이션 경로의 시각화를 제공하는 단계를 포함하는 것을 특징으로 하는 네비게이션 경로들을 자동으로 수신하는 클라이언트 디바이스 내의 방법. - 청구항 10에 있어서,
상기 스타팅 포인트는 상기 클라이언트 디바이스의 사용자의 프로필과 독립적으로 선택되는 것을 특징으로 하는 네비게이션 경로들을 자동으로 수신하는 클라이언트 디바이스 내의 방법. - 청구항 10에 있어서,
상기 스타팅 포인트는 (ⅰ) 교통 중심지 (ⅱ) 관심 지점 또는 (ⅲ) 주요 도로의 출구 중 하나인 것을 특징으로 하는 네비게이션 경로들을 자동으로 수신하는 클라이언트 디바이스 내의 방법. - 청구항 10에 있어서,
상기 스타팅 포인트는 (ⅰ) 인기 (ⅱ) 접근성 스코어 및 (ⅲ) 상기 지리적 위치까지의 거리 중 하나 이상을 더 고려하여 선택되는 것을 특징으로 하는 네비게이션 경로들을 자동으로 수신하는 클라이언트 디바이스 내의 방법. - 청구항 10에 있어서,
상기 지리적 위치를 결정하는 단계는 웹 사이트 내 상기 디지털 맵을 내장하는 3자 웹 콘텐츠 서버로부터 상기 지리적 위치를 수신하는 것을 포함하는 것을 특징으로 하는 네비게이션 경로들을 자동으로 수신하는 클라이언트 디바이스 내의 방법. - 청구항 10에 있어서,
상기 현재 맵 뷰포트 내의 상기 지리적 위치를 결정하는 단계는 지리적 쿼리의 결과를 수신하는 것을 포함하고, 상기 결과는 상기 지리적 위치를 지정하는 것을 특징으로 하는 네비게이션 경로들을 자동으로 수신하는 클라이언트 디바이스 내의 방법. - 클라이언트 디바이스로서,
통신 인터페이스와;
사용자 인터페이스와;
상기 통신 인터페이스 및 상기 사용자 인터페이스에 연결된 하나 이상의 프로세서와;
상기 하나 이상의 프로세서들에 연결되고 명령어들을 저장하는 비-일시적인 컴퓨터 판독가능 메모리를 포함하며,
상기 명령어들은 상기 하나 이상의 프로세서들에 의해 실행될 때, 상기 클라이언트 디바이스로 하여금:
상기 사용자 인터페이스를 통해 현재 맵 뷰포트 내의 디지털 맵을 디스플레이 하고;
상기 현재 맵 뷰포트 내의 지리적 위치의 선택을 수신하고;
상기 통신 인터페이스를 통해 상기 지리적 위치의 표시 및 상기 현재 맵 뷰포트의 표시를 네트워크 서버에 전송하고, 상기 지리적 위치는 목적지 위치며;
상기 네트워크 서버로부터, (ⅰ) 상기 네트워크 서버에 의해 지역으로서 자동으로 선택된 상기 뷰포트 내의 스타팅 포인트의 표시 및, 사용자들이 상기 지역에서 상기 지리적 위치에 액세스 하는 가능성이 더 높으며, (ⅱ) 상기 스타팅 포인트에서 상기 지리적 위치까지 이동하는 네비게이션 경로들을 수신하고; 그리고
상기 사용자 인터페이스를 통해 상기 네비게이션 경로의 시각화를 제공하도록 하는 것을 특징으로 하는 클라이언트 디바이스. - 청구항 16에 있어서,
상기 스타팅 포인트는 상기 클라이언트 디바이스의 사용자의 프로필과 독립적으로 선택되는 것을 특징으로 하는 클라이언트 디바이스. - 청구항 16에 있어서,
상기 스타팅 포인트는 (ⅰ) 교통 중심지 (ⅱ) 관심 지점 또는 (ⅲ) 주요 도로의 출구 중 하나인 것을 특징으로 하는 클라이언트 디바이스. - 청구항 16에 있어서,
상기 스타팅 포인트는 (ⅰ) 인기 (ⅱ) 접근성 스코어 및 (ⅲ) 상기 지리적 위치까지의 거리 중 하나 이상을 더 고려하여 선택되는 것을 특징으로 하는 클라이언트 디바이스. - 청구항 16에 있어서,
상기 현재 맵 뷰포트 내의 지리적 위치의 선택을 수신하도록 하는 것은, 상기 명령어들이 상기 클라이언트 디바이스로 하여금 웹 사이트 내 상기 디지털 맵을 내장한 3자 웹 콘텐츠 서버로부터 상기 지리적 위치를 수신하도록 하는 것을 특징으로 하는 클라이언트 디바이스.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/196,638 | 2014-03-04 | ||
US14/196,638 US9151627B2 (en) | 2014-03-04 | 2014-03-04 | Navigation directions between automatically determined starting points and selected destinations |
PCT/US2015/018569 WO2015134558A1 (en) | 2014-03-04 | 2015-03-04 | Navigation directions between automatically determined startin points and selected distinations |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20160122267A KR20160122267A (ko) | 2016-10-21 |
KR101725886B1 true KR101725886B1 (ko) | 2017-04-11 |
Family
ID=52727403
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020167027480A KR101725886B1 (ko) | 2014-03-04 | 2015-03-04 | 자동으로 결정된 스타팅 포인트들과 선택된 목적지들 사이의 네비게이션 경로들 |
Country Status (8)
Country | Link |
---|---|
US (1) | US9151627B2 (ko) |
EP (1) | EP3114673A1 (ko) |
JP (2) | JP6316980B2 (ko) |
KR (1) | KR101725886B1 (ko) |
CN (2) | CN110617830A (ko) |
AU (1) | AU2015227269B2 (ko) |
DE (1) | DE202015009184U1 (ko) |
WO (1) | WO2015134558A1 (ko) |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150290541A1 (en) * | 2014-04-15 | 2015-10-15 | King.Com Limited | Device, game and methods therefor |
US9212924B1 (en) * | 2014-08-21 | 2015-12-15 | Microsoft Technology Licensing, Llc | Multimode transportation transitions |
US10331727B2 (en) * | 2016-12-07 | 2019-06-25 | Google Llc | Graphical user interface to display commonly categorized entities |
DE102017201669A1 (de) * | 2017-02-02 | 2018-08-02 | Robert Bosch Gmbh | Verfahren und Vorrichtung zur Aktualisierung einer digitalen Karte |
CA3052951C (en) * | 2017-02-10 | 2023-03-14 | Nissan North America, Inc. | Autonomous vehicle operational management |
EP3566023A1 (en) * | 2017-08-04 | 2019-11-13 | Google LLC | Automatically providing navigation directions on interactive digital map |
WO2019089015A1 (en) | 2017-10-31 | 2019-05-09 | Nissan North America, Inc. | Autonomous vehicle operation with explicit occlusion reasoning |
WO2019112566A1 (en) | 2017-12-05 | 2019-06-13 | Google Llc | Machine learning model for predicting speed based on vehicle type |
US11274935B2 (en) | 2017-12-05 | 2022-03-15 | Google Llc | Landmark-assisted navigation |
US10401182B2 (en) * | 2017-12-13 | 2019-09-03 | Google Llc | Systems and methods for avoiding location-dependent driving restrictions |
JP7004753B2 (ja) * | 2017-12-15 | 2022-01-21 | グーグル エルエルシー | サードパーティデータを使用したナビゲーションアプリケーションにおける視覚化のカスタマイズ |
US11874120B2 (en) | 2017-12-22 | 2024-01-16 | Nissan North America, Inc. | Shared autonomous vehicle operational management |
EP3631643A1 (en) | 2018-08-24 | 2020-04-08 | Google LLC. | Personalized landmarks |
CN111024101A (zh) * | 2018-10-10 | 2020-04-17 | 上海擎感智能科技有限公司 | 一种导航路径风景评价方法及系统、存储介质及车载终端 |
EP3745088A1 (en) * | 2019-05-29 | 2020-12-02 | Naver Corporation | System and method for generating origin-independent access maps |
US11226208B2 (en) | 2019-10-07 | 2022-01-18 | Lyft, Inc. | Transportation route planning and generation |
US11733046B2 (en) * | 2019-10-07 | 2023-08-22 | Lyft, Inc. | Multi-modal transportation proposal generation |
US10746555B1 (en) | 2019-10-07 | 2020-08-18 | Lyft, Inc. | Multi-modal transportation route deviation detection and correction |
US11733049B2 (en) | 2019-10-07 | 2023-08-22 | Lyft, Inc. | Multi-modal transportation system |
US11635758B2 (en) | 2019-11-26 | 2023-04-25 | Nissan North America, Inc. | Risk aware executor with action set recommendations |
US11899454B2 (en) | 2019-11-26 | 2024-02-13 | Nissan North America, Inc. | Objective-based reasoning in autonomous vehicle decision-making |
US11714971B2 (en) | 2020-01-31 | 2023-08-01 | Nissan North America, Inc. | Explainability of autonomous vehicle decision making |
US11782438B2 (en) | 2020-03-17 | 2023-10-10 | Nissan North America, Inc. | Apparatus and method for post-processing a decision-making model of an autonomous vehicle using multivariate data |
CN112710323B (zh) * | 2020-12-23 | 2023-11-03 | 广州橙行智动汽车科技有限公司 | 一种车载导航的方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5608635A (en) | 1992-04-14 | 1997-03-04 | Zexel Corporation | Navigation system for a vehicle with route recalculation between multiple locations |
US20070265770A1 (en) | 2006-05-12 | 2007-11-15 | Pioneer Corporation | Mobile terminal apparatus, mobile terminal apparatus control method, mobile terminal apparatus control program, and recording medium for recording the mobile terminal apparatus control program |
US20110257877A1 (en) | 2010-04-20 | 2011-10-20 | Chung Yuan Christian University | Guidance system and method for taking public transportation |
US8630800B1 (en) | 2012-02-02 | 2014-01-14 | Google Inc. | Travel routes interface |
Family Cites Families (42)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02210485A (ja) * | 1989-02-10 | 1990-08-21 | Aisin Aw Co Ltd | ナビゲーション装置の案内開始点入力方式 |
DE69129892T2 (de) | 1990-11-09 | 1999-03-18 | Sumitomo Electric Industries, Ltd., Osaka | Vorrichtung für eine günstige Route-Auswahl |
KR100263982B1 (ko) | 1996-04-28 | 2000-08-16 | 모리 하루오 | 네비게이션장치 |
US6148261A (en) * | 1997-06-20 | 2000-11-14 | American Calcar, Inc. | Personal communication system to send and receive voice data positioning information |
US6133853A (en) * | 1998-07-30 | 2000-10-17 | American Calcar, Inc. | Personal communication and positioning system |
JP2000172171A (ja) * | 1998-12-09 | 2000-06-23 | Toshiba Corp | 地図作成装置 |
US6429813B2 (en) | 1999-01-14 | 2002-08-06 | Navigation Technologies Corp. | Method and system for providing end-user preferences with a navigation system |
US7865306B2 (en) | 2000-09-28 | 2011-01-04 | Michael Mays | Devices, methods, and systems for managing route-related information |
US6591188B1 (en) | 2000-11-01 | 2003-07-08 | Navigation Technologies Corp. | Method, system and article of manufacture for identifying regularly traveled routes |
JP3882554B2 (ja) | 2001-09-17 | 2007-02-21 | 日産自動車株式会社 | ナビゲーション装置 |
JP3819762B2 (ja) * | 2001-11-15 | 2006-09-13 | 日本電信電話株式会社 | 遠隔制御方法,遠隔制御システム,遠隔操作端末,制御サーバ,遠隔操作端末用プログラム,遠隔操作端末用プログラムの記録媒体,制御サーバ用プログラム,および制御サーバ用プログラムの記録媒体 |
US6845316B2 (en) | 2002-10-14 | 2005-01-18 | Mytrafficnews.Com, Inc. | Distribution of traffic and transit information |
JP2004253935A (ja) * | 2003-02-19 | 2004-09-09 | Mazda Motor Corp | 地図配信システム、地図配信装置、及び地図配信システム用コンピュータ・プログラム |
US7463972B2 (en) | 2003-09-26 | 2008-12-09 | Aisin Aw Co., Ltd. | Navigation apparatus and method |
JP4294509B2 (ja) | 2004-02-10 | 2009-07-15 | アルパイン株式会社 | ナビゲーション装置、経路探索方法およびプログラム |
CA2560560C (en) * | 2004-03-23 | 2011-08-02 | Google Inc. | Generating and serving tiles in a digital mapping system |
US7480567B2 (en) * | 2004-09-24 | 2009-01-20 | Nokia Corporation | Displaying a map having a close known location |
US7835859B2 (en) | 2004-10-29 | 2010-11-16 | Aol Inc. | Determining a route to a destination based on partially completed route |
JP4566844B2 (ja) | 2005-07-01 | 2010-10-20 | 株式会社デンソー | ナビゲーションシステム、および、そのナビゲーションシステムに用いる記憶装置 |
US7565157B1 (en) | 2005-11-18 | 2009-07-21 | A9.Com, Inc. | System and method for providing search results based on location |
US7702456B2 (en) | 2006-04-14 | 2010-04-20 | Scenera Technologies, Llc | System and method for presenting a computed route |
ATE518216T1 (de) | 2006-10-06 | 2011-08-15 | Deutsche Telekom Ag | Strassenbenutzungsauswertung |
JP2008234084A (ja) * | 2007-03-19 | 2008-10-02 | Casio Hitachi Mobile Communications Co Ltd | 携帯端末装置及びプログラム |
US8457682B2 (en) | 2008-03-04 | 2013-06-04 | Dbsd Satellite Services G.P. | Method and system for integrated satellite assistance services |
US8060298B2 (en) * | 2007-10-11 | 2011-11-15 | Microsoft Corporation | Multiple directions to a destination without providing a specific origin |
US8050862B2 (en) | 2007-10-30 | 2011-11-01 | GM Global Technology Operations LLC | Vehicular navigation system for recalling preset map views |
JP5069574B2 (ja) * | 2008-01-28 | 2012-11-07 | 株式会社ゼンリンデータコム | 携帯端末装置、特定施設情報提示システムおよび特定施設情報提示方法 |
US8862385B2 (en) | 2008-05-08 | 2014-10-14 | Microsoft Corporation | Providing augmented travel directions |
US20090319166A1 (en) | 2008-06-20 | 2009-12-24 | Microsoft Corporation | Mobile computing services based on devices with dynamic direction information |
JP4504441B2 (ja) | 2008-06-27 | 2010-07-14 | 株式会社トヨタIt開発センター | 経路探索装置および経路探索方法 |
JP4733165B2 (ja) | 2008-06-30 | 2011-07-27 | 株式会社デンソー | 車両ナビゲーションシステム |
US8478642B2 (en) | 2008-10-20 | 2013-07-02 | Carnegie Mellon University | System, method and device for predicting navigational decision-making behavior |
US8335647B2 (en) | 2008-12-04 | 2012-12-18 | Verizon Patent And Licensing Inc. | Navigation based on popular user-defined paths |
DE102010006702A1 (de) | 2009-02-26 | 2010-09-02 | Navigon Ag | Verfahren und Vorrichtung zur Berechnung alternativer Routen in einem Navigationssystem |
US9261376B2 (en) | 2010-02-24 | 2016-02-16 | Microsoft Technology Licensing, Llc | Route computation based on route-oriented vehicle trajectories |
US9264459B2 (en) * | 2010-12-16 | 2016-02-16 | Palo Alto Research Center Incorporated | SIP-based custodian routing in content-centric networks |
JP5560229B2 (ja) * | 2011-04-26 | 2014-07-23 | 株式会社ゼンリンデータコム | 経路探索システム及び経路探索方法 |
US20120284281A1 (en) | 2011-05-06 | 2012-11-08 | Gopogo, Llc | String And Methods of Generating Strings |
CN103562680B (zh) * | 2011-06-03 | 2016-06-29 | 苹果公司 | 用于比较和选择备选导航路线的设备与方法 |
US8768616B2 (en) | 2012-01-09 | 2014-07-01 | Ford Global Technologies, Llc | Adaptive method for trip prediction |
US8688377B1 (en) * | 2012-02-17 | 2014-04-01 | Google Inc. | System and method of using automatically-identified prominent establishments in driving directions |
CN102880686B (zh) * | 2012-09-17 | 2016-03-02 | 曹欢欢 | 一种兴趣点搜索方法和装置 |
-
2014
- 2014-03-04 US US14/196,638 patent/US9151627B2/en active Active
-
2015
- 2015-03-04 AU AU2015227269A patent/AU2015227269B2/en active Active
- 2015-03-04 WO PCT/US2015/018569 patent/WO2015134558A1/en active Application Filing
- 2015-03-04 EP EP15711948.8A patent/EP3114673A1/en not_active Ceased
- 2015-03-04 KR KR1020167027480A patent/KR101725886B1/ko active IP Right Grant
- 2015-03-04 JP JP2016555571A patent/JP6316980B2/ja active Active
- 2015-03-04 CN CN201910757063.4A patent/CN110617830A/zh active Pending
- 2015-03-04 CN CN201580011373.1A patent/CN106068442B/zh active Active
- 2015-03-04 DE DE202015009184.9U patent/DE202015009184U1/de active Active
-
2018
- 2018-03-28 JP JP2018061957A patent/JP6671406B2/ja active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5608635A (en) | 1992-04-14 | 1997-03-04 | Zexel Corporation | Navigation system for a vehicle with route recalculation between multiple locations |
US20070265770A1 (en) | 2006-05-12 | 2007-11-15 | Pioneer Corporation | Mobile terminal apparatus, mobile terminal apparatus control method, mobile terminal apparatus control program, and recording medium for recording the mobile terminal apparatus control program |
US20110257877A1 (en) | 2010-04-20 | 2011-10-20 | Chung Yuan Christian University | Guidance system and method for taking public transportation |
US8630800B1 (en) | 2012-02-02 | 2014-01-14 | Google Inc. | Travel routes interface |
Also Published As
Publication number | Publication date |
---|---|
JP6316980B2 (ja) | 2018-04-25 |
AU2015227269A1 (en) | 2016-09-01 |
US9151627B2 (en) | 2015-10-06 |
KR20160122267A (ko) | 2016-10-21 |
AU2015227269B2 (en) | 2016-09-29 |
CN106068442A (zh) | 2016-11-02 |
WO2015134558A1 (en) | 2015-09-11 |
DE202015009184U1 (de) | 2016-11-11 |
JP6671406B2 (ja) | 2020-03-25 |
JP2018119984A (ja) | 2018-08-02 |
US20150253143A1 (en) | 2015-09-10 |
JP2017516070A (ja) | 2017-06-15 |
CN106068442B (zh) | 2019-09-06 |
CN110617830A (zh) | 2019-12-27 |
EP3114673A1 (en) | 2017-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101725886B1 (ko) | 자동으로 결정된 스타팅 포인트들과 선택된 목적지들 사이의 네비게이션 경로들 | |
US10002140B2 (en) | Geographical location search using multiple data sources | |
US20240027217A1 (en) | Displaying Personalized Landmarks in a Mapping Application | |
US20240044665A1 (en) | Navigation directions with a familiar location as an intermediate destination | |
KR102398601B1 (ko) | 내비게이션 기동과 연계할 관심지점(poi)을 선택하기 위한 시스템 및 방법 | |
US10859394B2 (en) | Customizing visualization in a navigation application using third-party data | |
JP2010133913A (ja) | 方位表示装置及び方法 | |
AU2017397651B2 (en) | Providing navigation directions | |
JP6581878B2 (ja) | ナビゲーションシステム、情報処理装置、プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
A302 | Request for accelerated examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |