-
TECHNISCHES GEBIET
-
Die vorliegende Offenbarung bezieht sich auf interaktive digitale Landkarten und insbesondere auf die Verwaltung von Offline-Kartendaten in Clientgeräten. Unter Schutz gestellt werden und Gegenstand des Gebrauchsmusters sind, entsprechend den Vorschriften des Gebrauchsmustergesetzes, lediglich Vorrichtungen wie in den beigefügten Schutzansprüchen definiert, jedoch keine Verfahren. Soweit nachfolgend in der Beschreibung gegebenenfalls auf Verfahren Bezug genommen wird, dienen diese Bezugnahmen lediglich der beispielhaften Erläuterung der in den beigefügten Schutzansprüchen unter Schutz gestellten Vorrichtung oder Vorrichtungen.
-
HINTERGRUND
-
Die hierin angegebene Hintergrundbeschreibung soll den Kontext der Offenbarung allgemein darstellen. Die Arbeit der vorliegend genannten Erfinder, in dem Umfang, wie sie in diesem Hintergrundabschnitt beschrieben ist, sowie Aspekte der Beschreibung, die zum Zeitpunkt der Anmeldung sonst möglicherweise nicht als Stand der Technik qualifiziert sind, werden weder ausdrücklich noch stillschweigend als Stand der Technik gegenüber der vorliegenden Offenbarung anerkannt.
-
Softwareanwendungen, die interaktive digitale Karten bereitstellen, Fahrtbeschreibungen anzeigen und unterschiedliche geografische Funktionen unterstützen („geografische Anwendungen”) lassen sich auf verschiedenen Benutzergeräten ausführen, z. B. auf Desktopcomputern, Laptopcomputern, Tabletcomputern, Smartphones, in Navigationssystemen von Fahrzeugen etc. In manchen Fällen weisen Benutzergeräte eine im Wesentlichen dauerhafte Netzwerkverbindung wie eine DSL-(Digital Subscriber Line) oder kabelgestützte Internetverbindung auf. In anderen Fällen versuchen Benutzergeräte, über drahtlose Kommunikationskanäle, die Störungen, Schwankungen der Servicequalität, hohen Preisen (z. B. Roaminggebühren) usw. unterliegen können, auf Netzwerkserver zuzugreifen. In einigen Situationen haben Benutzergeräte ferner gar keine Netzwerkverbindung.
-
Das führt dazu, dass geografische Anwendungen nicht immer auf Netzwerkserver zugreifen können, um Anfragen von Benutzern zu beantworten. Während das Betriebssystem eines Benutzergeräts einige der Probleme mit drahtloser Konnektivität leicht identifizieren kann (wenn sich ein Benutzergerät z. B. im Flugzeugmodus befindet oder ein Mobilfunkbetreiber ein 2G-Netz (2. Generation) anstelle eines 3G-Netzes (3. Generation) oder höher anbietet), lassen sich andere Konnektivitätsprobleme zudem schwerer erkennen und können plötzlich auftreten (z. B. wenn ein Router oder Datenserver verfügbar zu sein scheint, jedoch nicht reagiert oder wenn der Benutzer eine digitale Karte eines Gebiets anfordert, während er sich von einem Hotspot entfernt). Ein anderes Beispiel wäre ein Benutzer, der über sein Smartphone Fahrtanweisungen anfordert, bevor er aus einer Tiefgarage fährt, wo keine Netzverbindung verfügbar ist und das Smartphone kurz nach Beginn der Fahrt eine Netzverbindung herstellen kann.
-
ZUSAMMENFASSUNG
-
Eine geografische Anwendung, die auf einem Benutzergerät wie einem Smartphone ausgeführt wird, ruft Kartendaten und verschiedene Arten von weltraumgestützten Daten von einem Remoteserver ab, der sich in einem Online-Betrieb befindet, wenn eine Netzwerkverbindung mit akzeptabler Qualität verfügbar ist und speichert zudem bestimmte Kartendaten und weltraumgestützte Daten auf dem Gerät, um Navigationsanweisungen, geografische Suchergebnisse, geografische Vorschläge usw. bereitzustellen, wenn das Benutzergerät im Offline-Betrieb ausgeführt wird. Die geografische Anwendung unterstützt dementsprechend bestimmte geografische Funktionen in beiden Modi. Um Übergänge zwischen den begrenzten Offlinedaten und den umfangreicheren Onlinedaten scheinbar nahtlos zu gestalten, wenn das Benutzergerät zwischen dem Online-Betrieb und dem Offline-Betrieb wechselt, sorgt die geografische Anwendung für eine dynamische Zusammenführung von Offline- und Onlinedaten unter Berücksichtigung von Faktoren wie dem Zeitpunkt des Empfangs von Onlinedaten und der unterschiedlichen Qualität zwischen den bereits verfügbaren Offlinedaten und den ankommenden Onlinedaten. Außerdem ermittelt die geografische Anwendung in einigen Szenarien dynamisch, wann dem Benutzer Offlinedaten angezeigt werden sollen, wann dem Benutzer eine Meldung angezeigt werden soll, dass Onlinedaten angefordert werden und wann dem Benutzer unter Berücksichtigung der geplanten Ankunftszeit, Qualität und möglicherweise anderer Faktoren Onlinedaten angezeigt werden sollen.
-
Bei der Bereitstellung von Vorschlägen zu potenziell relevanten Suchergebnissen (zum Beispiel wenn der Benutzer einen teilweise vollständigen Suchbegriff oder den Namen eines Standorts eingibt) kann die geografische Anwendung die Differenz bei der Qualität zwischen Offline- und (tatsächlichen oder potenziellen) Onlinevorschlägen ermitteln – unter Berücksichtigung der Frage, wie genau sich der aktuelle Standort des Benutzergeräts ermitteln lässt. Wenn der aktuelle Standort des Benutzergeräts zum Beispiel relativ präzise ist, kann die geografische Anwendung sofort einen Offlinevorschlag anzeigen, wenn der aktuelle Standort des Benutzergeräts jedoch weniger präzise ist, kann die geografische Anwendung zunächst versuchen, einen Onlinevorschlag abzurufen, einen Timer aktivieren und Offlinevorschläge dann anzeigen, wenn der Timer abgelaufen ist. Außerdem kann die geografische Anwendung ermitteln, ob ein Offlinevorschlag angesichts der Zahl an verfügbaren Offlinevorschlägen sofort angezeigt werden soll (ein einzelner Offlinevorschlag kann zum Beispiel mit einer höheren Wahrscheinlichkeit relevant sein). Falls die geografische Anwendung einen oder mehr Onlinevorschläge erhält, kann die geografische Anwendung ein Steuerungselement (wie eine Schaltfläche) zum Aktualisieren der Offlinevorschläge hinsichtlich der neuen Onlinevorschläge bereitstellten, sollten die Onlinedaten anders und/oder umfangreicher sein als die aktuell angezeigten Offlinedaten. Wenn der Benutzer Vorschläge für eine umfangreiche Kategorie anfordert (z. B. „Benzin” oder „französische Restaurants”), kann die geografische Anwendung ferner automatisch einen längeren Timeout-Wert festlegen, um das Warten auf Onlinevorschläge zu begrenzen.
-
Wenn der Benutzer Navigationsanweisungen anfordert, kann die geografische Anwendung in manchen Fällen mithilfe von Offlinedaten („Offlineanweisungen”, die eine oder mehrere „Offlinerouten” definieren) umgehend eine Navigationsroute erzeugen und das Ergebnis z. B. auf einer digitalen Karte oder in Form eines Satzes von Schritt-für-Schritt-Anweisungen anzeigen. Wenn die geografische Anweisung anschließend Navigationsdaten vom Navigationsserver erhält („Onlineanweisungen”, die eine oder mehrere „Onlinerouten” definieren), kann die geografische Anwendung das Update über eine Benutzeroberfläche auf besonders einfache Weise bereitstellen (z. B. durch Bereitstellung eines UI-Steuerungselements für das Anzeigen der Onlineanweisungen als alternative Route). Wenn die geografische Anwendung ermittelt, dass die empfohlenen Onlineanweisungen die gleiche Route definieren wie die Offlineanweisungen, kann die geografische Anwendung Verkehrsdaten in die Präsentation der Offlineanweisungen einfügen. Wenn die geografische Anwendung ermittelt, dass sich die empfohlenen Onlineanweisungen von den Offlineanweisungen unterscheiden, kann die geografische Anwendung die Offlineroute als nicht ausgewählte Alternative bewahren, nachdem der Benutzer eine der Onlinerouten ausgewählt hat – selbst dann, wenn die Offlineroute keiner der Onlinerouten entspricht.
-
Außerdem kann die geografische Anwendung einen Untersatz der verfügbaren Informationen zu Geschäften, Sehenswürdigkeiten und anderen Orten zum Anzeigen im Offline-Betrieb speichern. Die geografische Anwendung kann zum Beispiel die Telefonnummern eines Geschäfts, die Öffnungszeiten, die Zahl der erhaltenen Bewertungen und den Durchschnitt auf einer bestimmten Skala, die Adresse und ggf. eine redaktionelle Übersicht (z. B. eine Beschreibung mit 40 Zeichen oder weniger) speichern. Wenn die geografische Anwendung anschließend Onlinedaten empfängt, kann die geografische Anwendung die entsprechenden Einträge um weitere Daten ergänzen; diese können längere Übersichten, Bewertungstexte, Websiteinformationen, Straßenansichten, Fotos usw. beinhalten. Wenn die geografische Anwendung eine Offlineroute erzeugt, die durch ein Gebiet führt, für die keine potenziell relevanten Offline-Geodaten verfügbar sind, kann die geografische Anwendung ferner eine entsprechende Meldung erzeugen, damit der Benutzer entsprechend planen kann. Die geografische Anwendung kann zum Beispiel darauf hinweisen, dass die geografische Anwendung keine Alternativ- und/oder Rückrouten erzeugen kann, wenn der Benutzer von der Route abweicht oder dass die geografische Anwendung keine Informationen zu Geschäften entlang der Route bereitstellen kann. Beim Navigieren entlang einer Offlineroute kann die geografische Anwendung den Benutzer darüber informieren, dass er sich einem Gebiet ohne Offline-Geodaten nähert, sobald eine bestimmte Schwellenwertentfernung zu dem Gebiet unterschritten wird. Der Hinweis kann auch einen Hinweis dazu beinhalten, wie lang dieses Gebiet ist. Außerdem kann die geografische Anwendung vor Erreichen des Gebiets ohne Offlinedaten eine Kategorie von Orten vorschlagen, die der Benutzer der Navigationsroute möglicherweise hinzufügen möchte. Die geografische Anwendung kann zum Beispiel automatisch den Vorschlag machen, dass der Benutzer an einer Tankstelle halten soll, bevor er das Gebiet erreicht, in dem die geografische Anwendung keine Vorschläge dieser Art machen kann.
-
KURZBESCHREIBUNG DER ZEICHNUNGEN
-
1 zeigt ein Blockdiagramm eines exemplarischen Systems, in dem ein Clientgerät gemäß den Verfahren dieser Offenbarung bei der Bearbeitung von Anfragen nach geografischen Daten Onlinedaten, Offlinedaten und Kombinationen aus Online- und Offlinedaten nutzt;
-
2 zeigt ein Ablaufdiagramm eines exemplarischen Verfahrens zur Bereitstellung von Navigationsanweisungen unter Verwendung von Online- und Offlinedaten, wobei sich das Verfahren in einer geografischen Anwendung implementieren lässt, die auf dem Clientgerät aus 1 ausgeführt wird;
-
3A–3G veranschaulichen einige der exemplarischen Screenshots, die eine geografische Anwendung erzeugen kann, wenn sie gemäß dem Verfahren aus 2 Navigationsanweisungen bereitstellt;
-
4 zeigt ein Ablaufdiagramm eines exemplarischen Verfahrens zur Bereitstellung von Offlinevorschlägen und Suchergebnissen unter Verwendung von Online- und Offlinedaten, wobei das Verfahren im Clientgerät aus 1 implementiert sein kann;
-
5A zeigt ein Ablaufdiagramm eines exemplarischen Verfahrens für die Bereitstellung eines Hinweises vor der Navigation dazu, dass eine Offlineroute durch geografische Gebiete ohne Offlinedaten führt, wobei sich das Verfahren in einer geografischen Anwendung implementieren lässt, die auf dem Clientgerät aus 1 ausgeführt wird;
-
5B zeigt ein Ablaufdiagramm eines exemplarischen Verfahrens für die Bereitstellung eines Hinweises während der Navigation dazu, dass eine Offlineroute durch geografische Gebiete ohne Offlinedaten führt, wobei sich das Verfahren in einer geografischen Anwendung implementieren lasst, die auf dem Clientgerät aus 1 ausgeführt wird;
-
5C zeigt ein Ablaufdiagramm eines exemplarischen Verfahrens für die Bereitstellung von Vorschlägen für geografische Gebiete, für die keine Offlinedaten verfügbar sind, wobei sich die geografischen Gebiete entlang der aktuell ausgewählten Navigationsroute befinden, wobei sich das Verfahren in einer geografischen Anwendung implementieren lasst, die auf dem Clientgerät aus 1 ausgeführt wird;
-
6A zeigt einen exemplarischen Screenshot, den eine geografische Anwendung erzeugen kann, wenn sie das Verfahren aus 5A ausführt;
-
6B und 6C zeigen exemplarische Screenshots, die eine geografische Anwendung erzeugen kann, wenn sie das Verfahren aus 5B ausführt;
-
7A–G zeigen exemplarische Screenshots, die eine geografische Anwendung erzeugen kann, wenn sie das Verfahren aus 5C ausführt; und
-
8 zeigt ein Ablaufdiagramm eines exemplarischen Verfahrens für die Bereitstellung von Informationen über geografische Orte in einem Offline-Betrieb und einem Online-Betrieb, wobei sich das Verfahren auf dem Clientgerät aus 1 implementieren lässt.
-
DETAILLIERTE BESCHREIBUNG DER ZEICHNUNGEN
-
Überblick über ein Beispielsystem und ein tragbares Gerät
-
Ein exemplarisches System, in dem die oben beschriebenen Verfahren implementiert werden können, wird mit Bezugnahme auf 1 erörtert.
-
Ein exemplarisches System 10 beinhaltet ein Benutzergerät (oder „Computergerät”) 12, einen Kartendatenserver 20, einen Navigationsserver 22 und einen Auto-Suggest-Server 23. Je nach Implementierung kann das Benutzergerät 12 zum Beispiel ein Smartphone, ein Tabletcomputer, ein tragbares Computergerät, ein Laptopcomputer, ein Desktopcomputer, ein tragbares Navigationsgerät usw. sein. Das Benutzergerät 12 kann grundsätzlich tragbar oder nicht tragbar sein; dabei kann es sich um ein universelles Computergerät oder ein spezielles (z. B. integriertes) Gerät handeln, zum Beispiel um ein Navigationssystem, welches in der Kopfeinheit eines konventionellen Fahrzeugs oder selbstfahrenden Fahrzeugs ausgeführt wird. Zur leichteren Veranschaulichung werden die Verfahren für die Bereitstellung von Navigationsanweisungen und anderen weltraumgestützten Daten im Folgenden jedoch vor allem mit Bezugnahme auf ein tragbares Benutzergerät erörtert.
-
Das Benutzergerät 12 ist mit den Servern 20, 22 und 23 über eine oder mehrere Verbindungen in einem oder mehreren Kommunikationsnetzwerken 18 gekoppelt, wobei es sich um beliebige geeignete LANs oder WANs handeln kann (inkl. Wi-Fi-Netz, Bluetooth-Netz, Mobilnetz wie 3G, 4G, Long-Term Evolution (LTE), Internet usw.). Das Benutzergerät 12 kann über das Kommunikationsnetzwerk 18 ferner mit weiteren Anbietern von Inhalten, Servern usw. kommunizieren. In einer exemplarischen Implementierung kann das Benutzergerät 12 ein Smartphone sein, das über ein LTE-Netz mit einem Remoteserver wie dem Navigationsserver 22 verbunden ist.
-
Der Kartendatenserver 20, Navigationsserver 22 und der Auto-Suggest-Server 23 sind mit verschiedenen Datenbanken verbunden, z. B. einer Kartendatenbank 30, in der schematische und satellitengestützte Daten mit Straßeninformationen, topografischen Daten, Satellitenbildern etc. gespeichert sind, einer Ortsseitendatenbank 34, in der für verschiedene Geschäfte Öffnungszeiten, Telefonnummern, E-Mail-Adressen, Links zu Websites, Bewertungen, geschäftsspezifische Inhalte wie Speisekarten etc. gespeichert sind, sowie einer Verkehrsdatenbank 36, die aktuelle Verkehrsbedingungen und in manchen Implementierungen Wetterdaten, Daten zu Straßensperrungen, geschätzte Zeitdaten etc. beinhaltet. Grundsätzlich können die Server 20, 22 und 23 Informationen in Bezug auf geografische Standorte von einer beliebigen Zahl an geeigneten Datenbanken, Webservices usw. erhalten und das System 10 kann eine beliebige Zahl zusätzlicher Server beinhalten bzw. darauf zugreifen.
-
Ein oder mehrere Betreiber können die Datenbanken 30, 34 und 36 regelmäßig aktualisieren, wobei jeder Betreiber Updates für die Datenbanken in jeweiligen Zeitabständen bereitstellt. Die Verkehrsdatenbank 36 zum Beispiel kann wesentlich mehr Echtzeitdaten speichern, während die schematische Datenbank und Satellitendatenbank 30 möglicherweise relativ selten aktualisiert wird (z. B. einmal die Woche); die Ortsseitendatenbank 34 kann auf einer Ad-hoc-Basis aktualisiert werden, wenn neue Informationen über Geschäfte und andere Orte verfügbar sind bzw. wenn das System 10 z. B. Hinweise über geschlossene Geschäfte erhält.
-
Die schematische Datenbank und Satellitendatenbank 30 kann Daten in einem Rasterformat, in einem Vektorformat, in einem beliebigen anderen geeigneten Format oder in einer beliebigen Kombination daraus speichern. Bei einigen Implementierungen können die Daten in Form von Kartenkacheln mit mehreren Zoomstufen organisiert sein, um die Bereitstellung von Kartendaten auf Clientgeräten zu erleichtern. Je nach Implementierung kann der Navigationsserver 22 Kartendaten und Fahranweisungsdaten auf Clientgeräten bereitstellen, beispielsweise getrennt oder zusammen in Form von Kartenkacheln. In anderen Ausführungsformen können Kartendaten und Navigationsanweisungen dezentral auf Remoteservern, getrennt vom Kartendatenserver 20 und vom Navigationsserver 22, generiert werden. Ferner können in einigen Ausführungsformen die Karte und die Navigationsanweisungen durch eine Kombination aus dem Kartendatenserver 20, Navigationsserver 22 und einer beliebigen Anzahl von zusätzlichen Servern generiert werden.
-
In einer exemplarischen Implementierung beinhaltet das Benutzergerät 12 einen Speicher 40, einen oder mehrere Prozessoren (CPU) 50, einen Grafikprozessor (GPU) 52, eine Netzwerkkarte 54 und ein E/A-Modul 56 mit einer Benutzeroberfläche für die Anzeige von Kartendaten und Anweisungen. Das Benutzergerät 12 beinhaltet ferner ein Positionierungsmodul 60, das zum Beispiel aus einem GPS-Empfänger (Global Positioning System) bestehen kann. In einigen Ausführungsformen kann das Benutzergerät 12 die Offline-Navigationsanweisungen und/oder die Online-Navigationsanweisungen zur Anzeige an eine Benutzeroberfläche auf einem anderen Gerät übertragen, z. B. in die Kopfeinheit eines Fahrzeugs (nicht dargestellt).
-
Der Speicher 40 kann ein materieller, nicht flüchtiger Speicher sein und alle Arten von geeigneten Speichermodulen beinhalten, einschließlich Random Access Memory (RAM), Read Only Memory (ROM), Flash-Speicher, anderer Arten von persistenten Speichern usw. Der Speicher 40 speichert ein Betriebssystem (OS) 42 und eine oder mehrere Anwendungen oder Module, einschließlich einer geografischen Anwendung 14. Das Betriebssystem 42 kann jede beliebige Art von geeignetem Betriebssystem sein, z. B. ein modernes Betriebssystem für Smartphones. Das E/A-Modul 56 kann beispielsweise ein Touchscreen sein. Allgemeiner können diese Verfahren in anderen Arten von Geräten implementiert werden, beispielsweise auf einem Laptop oder Desktopcomputer, in Navigationsgeräten von Autos usw.
-
Die geografische Anwendung 14 erzeugt eine digitale Karte, indem diese grafische Vektordaten, Rasterkacheln oder Kartendaten in jedem anderen, zur Anzeige auf einem Bildschirm geeigneten Format verwendet. Wie im Folgenden genauer erläutert kann die geografische Anwendung 14 Online- und Offline-Navigationsanweisungen erzeugen, unter Verwendung von Online- und Offlinedaten geografische Vorschläge machen, verschiedene Online- und Offlineinhalte dynamisch zusammenführen usw. Je nach Implementierung kann die geografische Anwendung 14 aus einer separaten ausführbaren Anwendung mit kompilierten Befehlen bestehen, die direkt im Betriebssystem 42 ausgeführt werden, aus Befehlen in einer Skriptsprache (oder in einem anderen geeigneten Format), die von einer anderen Anwendung zur Laufzeit interpretiert werden (z. B. von einem Webbrowser) oder aus einem Plug-in, das die Funktionen einer anderen Softwareanwendung erweitert usw. In einer exemplarischen Implementierung ist die geografische Anwendung 14 eine „App”, die von einem Webserver auf das tragbare Computergerät 12 heruntergeladen wurde. Außerdem kann die geografische Anwendung 14 in einigen Implementierungen ein Webbrowser sein.
-
Bei der Ausführung fordert die geografische Anwendung 14 vom Navigationsserver 22 Navigationsanweisungen und je nach Szenario Zusatzdaten wie Verkehrsinformationen an. Wenn das Computergerät 12 keine Verbindung zu einem Netzwerk 18 herstellen kann, die Netzwerkverbindung beschränkt ist, die Netzwerkverbindung von schlechter Qualität ist oder der Navigationsserver anderweitig nicht verfügbar ist (wegen der Art des Mobilfunkvertrags, der Entfernung von einem drahtlosen Zugangspunkt usw.), kann die geografische Anwendung 14 durch Verwendung von Offline-Verkehrsdaten 62 die Navigationsanweisungen lokal generieren. Das Benutzergerät 12 kann ferner Offline-Geodaten 64 und den Offline-Ort 66 verwenden; Beispiele hierfür befinden sich unten.
-
Im Allgemeinen können die Offlinedaten 62, 64, 66 usw. Daten beinhalten, die das Benutzergerät 12 in Erwartung einer späteren Benutzeranfrage nach diesen Daten gespeichert hat. Die spätere Anfrage kann expliziter Art sein, wenn der Benutzer z. B. eine Straßenanschrift eingibt und ein Steuerungselement für die Anforderung einer digitalen Karte aktiviert, die an der angegebenen Straßenanschrift zentriert ist. Die spätere Anfrage kann auch impliziter Art sein, wenn der Benutzer z. B. explizit nur Navigationsanweisungen von einem Ursprungsort zu einem Zielort anfordert und die geografische Anwendung 14 zudem Informationen über Sehenswürdigkeiten, Tankstellen usw. entlang der Route bereitstellt. In jedem Fall können Offlinedaten wie die Offlinedaten 62, 64 und 66 geografischen bzw. weltraumgestützten Daten entsprechen, die die geografische Anwendung 14 von den Servern 20, 22 etc. anhand einer bestimmten Wahrscheinlichkeit, mit der die geografische Anwendung 14 die Daten zu einem späteren Zeitpunkt benötigen wird, anfordert. Die geografische Anwendung 14 kann diese Wahrscheinlichkeit schätzen und anhand von Signalen wie Privat- und Arbeitsadresse des Benutzers, Präferenzen des Benutzers, vom Benutzer gespeicherten Standorten, vom Benutzer zuvor übermittelten Anfragen nach Navigationsanweisungen, Informationen zur Netzabdeckung (wenn z. B. erwartet wird, dass der Benutzer in ein Gebiet fährt, in dem es keine Netzabdeckung bzw. ausschließlich Roaming gibt) usw. spezifische Daten auswählen. In einigen Ausführungsformen bedient der Benutzer bestimmte Steuerungselemente und/oder installiert bestimmte Anwendungen, damit die geografische Anwendung 14 diese Signale verwenden und solche Informationen als Teil der Offlinedaten speichern kann.
-
Insbesondere können die Offline-Straßendaten 62 in einem Cache gespeichert werden, der im Speicher 40 implementiert ist. Je nach Implementierung können die Offline-Straßendaten 62 unter anderem folgende Parameter beschreiben: Straßengeometrie (z. B. Länge von Straßensegmenten), Standorte von Kreuzungen und zulässige Manöver an Kreuzungen (z. B. Links- und Rechtsabbiegen von Straße A in B, nur Rechtsabbiegen von Straße B in Straße A), Informationen zur Straßenart (z. B. Autobahn, Landstraße, kommunale Straße), zulässige Fahrtrichtungen (z. B. eine Richtung, beide Richtungen), Daten zu Geschwindigkeitsbegrenzungen usw. Außerdem können die Offline-Straßendaten 62 in einigen Implementierungen spurspezifische Informationen beinhalten (z. B. Zahl der Spuren, Hinweise zu Spuren für Fahrgemeinschaften und andere spurspezifische Einschränkungen). Die Offline-Straßendaten 62 können im Allgemeinen den Verkehrsdaten in der Kartendatenbank 30 ähneln, die der Navigationsserver 22 zur Erzeugung von Navigationsanweisungen verwendet. Zumindest in einigen der Implementierungen speichert das Benutzergerät 12 nicht alle Verkehrsdaten, die dem Navigationsserver 22 zur Verfügung stehen. Stattdessen kann das Benutzergerät 12 Offline-Straßendaten für Orte wie zum Beispiel Gebiete in der Nähe des Wohnorts des Benutzers, Gebiete in der Nähe des Arbeitsplatzes des Benutzers, Gebiete entlang der Route des Benutzers vom Wohnort zum Arbeitsplatz, Gebiete in der Nähe beliebter Orte, Gebiete in der Umgebung von Orten, die der Benutzer häufig besucht, usw. speichern. Außerdem können die Offline-Straßendaten 62 Verkehrs-/Kartendaten beinhalten, die in Datenstrukturen transformiert werden, welche nicht mehr direkt Straßen repräsentieren, um eine effiziente Berechnung der Navigationsanweisungen zu ermöglichen.
-
In einigen Szenarien kann die geografische Anwendung 14 entscheiden, Offline-Straßendaten für den/die gesamte/n Ort, Stadt, Bundesland, Land usw. speichern, in dem/der der Benutzer wohnt. In einigen Ausführungsformen muss der Benutzer, damit er von den Vorteilen dieser Verfahren Gebrauch machen kann, möglicherweise eine Einstellung auswählen bzw. eine Anwendung installieren. Generell kann die geografische Anwendung 14 die geografische Abdeckung und die Detailebene für die Offline-Straßendaten 62 im Hinblick auf Faktoren wie die Speicherverfügbarkeit, die geschätzte Wahrscheinlichkeit für bestimmte vom Benutzer angeforderte Anweisungen, die geschätzte Wahrscheinlichkeit eines Verlusts der Netzabdeckung des Benutzergeräts 12 usw. auswählen. Ferner kann der Benutzer in einigen Implementierungen der geografischen Anwendung 14 manuell geografische Bereiche auswählen, für die die geografische Anwendung 14 die Offline-Straßendaten 62 zwischenspeichern soll.
-
Die geografische Anwendung 14 kann beispielsweise Navigationsanweisungen erzeugen, die Schritt-für-Schritt-Anweisungen für das Fahren von einem ersten Standort zu einem zweiten Standort beinhalten. Jede Anweisung kann ein Manöver (z. B. nach links abbiegen, geradeaus weiter usw.), den Zeitpunkt der Anzeige einer Beschreibung des Manövers (z. B. 500 Fuß, bevor man den Punkt des Manövers erreicht), beliebige andere geeignete Navigationsinformationen oder eine beliebige Kombination daraus beschreiben. In einigen Fällen beschreiben Navigationsanweisungen Manöver für einen Radfahrer, einen Fußgänger, einen Autofahrer usw. Bei der Anforderung von Navigationsanweisungen kann der Benutzer festlegen, ob er Auto fährt, mit dem Fahrrad unterwegs ist, zu Fuß geht oder den öffentlichen Nahverkehr nutzt. Die geografische Anwendung 14 kann einen Hinweis auf den letzten vom Benutzergerät 12 ausgewählten Transportmodus speichern und diesen Hinweis in einigen Implementierungen verwenden, um Daten für den Abruf von den Servern 20 und 22 und Speicherung in den Offline-Straßendaten 62 auszuwählen.
-
Die Offline-Geodaten 64 können Informationen wie zuvor übermittelte geografische Suchanfragen und die entsprechenden Suchergebnisse, Standorte von Sehenswürdigkeiten etc. beinhalten. Die Offline-Ortsseitendaten 66 können für bestimmte Orte Informationen wie die Geschäftszeiten, die Telefonnummer, die Zahl der erhaltenen Bewertungen und den Durchschnitt dieser Bewertungen, eine redaktionelle Übersicht mit einer bestimmten begrenzten Länge etc. beinhalten. In einer Implementierung bestehen die Offline-Ortsseitendaten 66 für einen bestimmten Ort aus einem kompakten Untersatz der Daten, die in der Ortsseitendatenbank 34 verfügbar sind. In einigen Fällen werden die verfügbaren Onlinedaten ebenfalls offline gespeichert. Die geografische Anwendung 14 kann die Offline-Geodaten 64 sowie die Offline-Ortsseitendaten 66 unter Verwendung von Signalen auswählen, die jenen ähneln, die oben unter Bezugnahme auf die Offline-Straßendaten 62 erörtert wurden. Es wird darauf hingewiesen, dass 1 die Trennung der Daten 62, 64 und 66 lediglich schematisch darstellt und dass das Benutzergerät 12 Offlinedaten auf eine beliebige geeignete Weise organisieren kann.
-
Exemplarische Verfahren für die Bereitstellung von Navigationsanweisungen
-
Im Allgemeinen nutzt die geografische Anwendung 14 Offline-Straßendaten 62, um Navigationsanweisungen im Offline-Betrieb bereitzustellen; wenn Online-Straßendaten am Benutzergerät 12 empfangen werden, führt die geografische Anwendung 14 die Onlinedaten wenn möglich nahtlos mit der Offlineroute zusammen oder zeigt dem Benutzer die Onlineroute als beste Option an.
-
In einem exemplarischen Szenario fährt John von Philadelphia nach New York City. Bevor Jon die Tiefgarage verlässt, in der er geparkt hat, fordert er über sein Smartphone Navigationsanweisungen an. Da das Smartphone keine Verbindung zu einem Drahtlosnetzwerk herstellen kann, erzeugt die geografische Anwendung Offline-Navigationsanweisungen unter Verwendung von Offline-Kartendaten, die bei früheren Fahrten des Benutzers zwischen Philadelphia und New York gespeichert wurden. Es ist sehr wahrscheinlich, dass die Offline-Kartendaten für die Erzeugung einer geometrisch optimalen oder nahezu optimalen Route ausreichen; möglicherweise verfügt John jedoch nicht über präzise Verkehrsdaten bzw. eine ausreichend genaue Zeiteinschätzung der Route. Dementsprechend kann die geografische Anwendung weiter versuchen, einen Online-Navigationsserver zu erreichen.
-
Während John damit beginnt, der Offlineroute zu folgen, findet das Smartphone irgendwann ein verfügbares Drahtlosnetz und stellt die geografische Anwendung erfolgreich eine Verbindung zum Online-Navigationsserver her. Nachdem die geografische Anwendung Online-Navigationsdaten empfangen hat, die eine oder mehrere Online-Navigationsrouten definieren, vergleicht die geografische Anwendung die Online-Navigationsdaten mit den Offline-Navigationsdaten, die zur Erzeugung der Offlineroute verwendet werden, um für den Benutzer die bequemste Route zu identifizieren. Insbesondere kann die geografische Anwendung eine Differenzmetrik erzeugen; wenn sich die Differenzmetrik innerhalb eines Schwellenwerts/Zielwerts/Bereichs befindet, aktualisiert die geografische Anwendung die Offlineroute mit Verkehrsinformationen, um die neuen Informationen widerzuspiegeln. John kann nun zum Beispiel möglicherweise erkennen, dass es auf der Autobahn 20 Meilen vor seinem aktuellen Standort einen Stau gibt.
-
Unter Bezugnahme auf 2 und die exemplarischen Screenshots aus 3A–G stellt ein exemplarisches Verfahren 100 für die Verwendung von Online- und Offline-Navigationsdaten dem Benutzer eine Navigationsroute bereit, die möglichst wenig Behinderungen beinhaltet. Das Verfahren 100 kann zum Beispiel in der geografischen Anwendung 14 aus 1 implementiert sein. Allgemeiner lässt sich das Verfahren 100 jedoch als Befehlssatz implementieren, der auf einem oder mehreren Prozessoren eines beliebigen geeigneten Geräts oder einer Gruppe von Geräten ausgeführt werden kann.
-
Bei Block 102 wird eine Anfrage empfangen, um den Benutzer zu einem bestimmten Ziel zu leiten. Wie in 3A dargestellt kann der Benutzer zum Beispiel auf die Schaltfläche tippen, um Fahranweisungen zu einem auf der Karte ausgewählten und mit einem Ortsindikator markierten Ort anzufordern. Bei Block 104 wird ermittelt, ob gegenwärtig eine Netzwerkverbindung verfügbar ist; wenn ja, fährt der Ablauf mit Block 106 fort. Andernfalls fährt der Ablauf direkt mit Block 112 fort.
-
Wie oben beschrieben kann es in einigen Fällen so aussehen, als wäre auf einem tragbaren Benutzergerät Netzabdeckung vorhanden, obwohl keine Abdeckung vorhanden ist. Bei Block 106 wird ein Hinweis angezeigt, dass Online-Navigationsdaten abgerufen werden. Ein Beispiel für diese Oberfläche findet sich in 2B. Bei Block 106 lässt sich auch ein Timer starten, um zu ermitteln, ob der Ablauf zu Block 108 oder 112 wechseln soll. Wenn Offline-Navigationsdaten verfügbar sind, kann der bei Block 106 gestartete Timer relativ kurz sein, zum Beispiel einige Millisekunden (und kann in einigen Ausführungsformen auch auf null gesetzt werden). Wenn ermittelt wird, dass keine Netzabdeckung vorhanden ist, bevor der Timer abläuft, fährt der Ablauf mit Block 112 fort.
-
Andernfalls läuft der Timer bei Block 108 ab und kann die geografische Anwendung, die das Verfahren 100 ausführt, ermitteln, ob der Benutzer früher bestimmte Routenoptionen wie z. B. „ohne Maut” ausgewählt hat. Als Nächstes wird bei Block 110 unter Verwendung von Offline-Navigationsdaten eine Offlineroute erzeugt. An diesem Punkt kann jedoch auch ein Hinweis angezeigt werden, dass die geografische Anwendung versucht, auch Onlinedaten abzurufen. 3C zeigt ein exemplarisches Fenster, in dem eine Offlineroute zusammen mit einem Hinweis angezeigt wird, dass noch immer Onlinedaten abgerufen werden. Außerdem kann bei Block 110 ein Timer gestartet werden um sicherzustellen, dass der Benutzer nicht zu lange auf Online-Navigationsdaten warten muss. Der Timer lässt sich zum Beispiel so konfigurieren, dass er nach wenigen Sekunden abläuft.
-
Wenn der Timer abläuft, bevor Onlinedaten empfangen werden, fährt der Ablauf mit Block 112 fort, wo die Offlineroute zusammen mit einer auswählbaren Option für die erneute Übermittlung der Anfrage nach Online-Navigationsanweisungen angezeigt wird. Ein exemplarisches Fenster, das Block 112 entspricht, ist in 3D veranschaulicht. Wenn allerdings Onlinedaten empfangen werden, bevor der Timer abläuft, fährt der Ablauf mit Block 114 fort.
-
Bei Block 114 wird ermittelt, ob sich die Onlinedaten nahe genug der Offlineroute befinden. Hierzu kann die geografische Anwendung 14 die Offlineroute sowie die Onlineroute jeweils als Satz von Wegpunkten anzeigen, die in bestimmten Abständen entlang der entsprechenden Route aufgereiht sind und die Zahl der Wegpunkte ermitteln, die sich zwischen dem Satz der Online-Navigationsanweisungen und der Offline-Navigationsanweisungen unterscheiden. Die geografische Anwendung 14 kann beispielsweise ermitteln, dass die Offline-Navigationsanweisungen neun aus dem Satz von Online-Navigationsanweisungen gemeinsamen Wegpunkte und zwei von diesen abweichenden Wegpunkten aufweisen. In einigen Ausführungsformen können, wenn der Benutzer durch Folgen der Routenführungsanweisungen die Navigation beginnt, passierte Wegpunkte verworfen werden, während in Kürze anstehende Wegpunkte stärker gewichtet werden. Haben beispielsweise die Offline-Navigationsanweisungen fünf Wegpunkte mit dem Satz von Online-Navigationsanweisungen gemein und weisen fünf sich unterscheidende Wegpunkte auf, aber der Benutzer bereits zwei der sich unterscheidenden Wegpunkte passiert hat und sich befinden zwei der gemeinsamen Wegpunkte sehr nahe am Benutzer befinden, kann das digitale Navigationsmodul 44 ermitteln, dass die Differenz zwischen den Online- und Offline-Navigationsanweisungen klein ist.
-
Wenn die Routen nicht ähnlich genug sind, wird bei Block 118 ein Hinweis für jetzt verfügbare Onlinerouten erzeugt, zusammen mit einem Steuerungselement für das Aktivieren der Anzeige von Onlinerouten (siehe Darstellung in 3E). Auf diese Weise kann der Benutzer bei Bedarf zur in der Regel besseren Onlineroute wechseln, ohne die Offlineroute unerwarteterweise zu verlieren. Wenn die Routen ähnlich genug sind, lassen sich die für die Onlineroute verfügbaren Verkehrsinformationen und andere Onlinedaten, die bei der Offlineroute fehlen, in der Offlineroute bei Block 116 zusammenführen.
-
Wie in 3F dargestellt kann die geografische Anwendung zusätzlich zur primären Route eine oder mehrere Alternativrouten anzeigen. Unter den alternativen Optionen kann eine zuvor angezeigte Offlineroute angezeigt werden, selbst wenn die Qualität der Offlineroute für die Liste der Alternativen nicht hoch genug ist. So sorgt die geografische Anwendung für einen nahtlosen Wechsel zwischen Online- und Offlinemodi.
-
Zur weiteren Klarheit veranschaulicht 3G ein Fenster, das von der geografischen Anwendung erzeugt werden kann, wenn der Benutzer z. B. auf die im Fenster aus 3D angezeigte Offline-Navigationsroute tippt bzw. diese anderweitig auswählt. Die geografische Anwendung kann in diesem Fall weiter einen Hinweis anzeigen, dass zur Generierung der Route Offlinedaten verwendet wurden. Der Rest des Fensters wird in diesem Beispiel von einer detaillierten Überlagerung der Navigationsroute auf einer digitalen Karte eingenommen.
-
Wenn Routenoptionen bei Block 108 erfolgreich ermittelt wurden und die geografische Anwendung diese Routenoptionen nicht voll unterstützen kann, wird eventuell eine entsprechende Warnung erzeugt. Die geografische Anwendung kann zum Beispiel angeben, dass die Offlineroute möglicherweise mautpflichtig ist.
-
Eine exemplarische Implementierung der in diesem Abschnitt erörterten Verfahren ist ein Verfahren in einem Computergerät zur Bereitstellung von Navigationsanweisungen. Das Verfahren beinhaltet (i) das Empfangen einer Anfrage nach Navigationsanweisungen für das Fahren von einem Ursprungsort zu einem Zielort, (ii) das Erzeugen durch einen oder mehrere Prozessoren erster Navigationsanweisungen für das Fahren vom Ursprungsort zum Zielort unter Verwendung von Daten, die vor der Anfrage in einem Speicher des Computergeräts gespeichert wurden, (iii) das Übertragen durch einen oder mehrere Prozessoren einer Anfrage nach Navigationsanweisungen für das Fahren vom Ursprungsort zum Zielort an einen Onlineserver, (iv) das Empfangen durch den Onlineserver zweiter Navigationsanweisungen für das Fahren vom Ursprungsort zum Zielort, (v) das Ermitteln durch einen oder mehrere Prozessoren, ob eine Differenz zwischen den ersten Navigationsanweisungen und den zweiten Navigationsanweisungen einen Schwellenwert überschreitet und (vi) wenn die Differenz zwischen den ersten Navigationsanweisungen und den zweiten Navigationsanweisungen den Schwellenwert nicht überschreitet das Zusammenführen der zweiten Navigationsanweisungen in den ersten Navigationsanweisungen.
-
In einigen Implementierungen beinhaltet das Verfahren eines oder mehrere der nachfolgenden Merkmale. Das Ermitteln der Differenz zwischen den ersten Navigationsanweisungen und den zweiten Navigationsanweisungen beinhaltet das Anzeigen der ersten Navigationsanweisungen sowie der zweiten Navigationsanweisungen jeweils als Satz an Wegpunkten und das Vergleichen des ersten Satzes mit dem zweiten Satz um zu ermitteln, wie viele Wegpunkte die zwei Sätze relativ zur Größe des ersten und zweiten Satzes gemein haben. Das Verfahren beinhaltet das Empfangen von Verkehrsdaten zusammen mit den zweiten Navigationsanweisungen, das Zusammenführen der zweiten Navigationsanweisungen mit den ersten Navigationsanweisungen beinhaltet das Hinzufügen von Verkehrsdaten zu den ersten Navigationsanweisungen.
-
Eine andere Implementierung dieser Verfahren ist ein Computergerät, das einen oder mehrere Prozessoren, eine Benutzeroberfläche und einen nicht flüchtigen computerlesbaren Speicher beinhaltet, in dem Befehle gespeichert sind, die sich von dem einen oder mehreren Prozessoren ausführen lassen, um das oben beschriebene Verfahren zu implementieren.
-
Exemplarische Verfahren für die Bereitstellung von Vorschlägen und Suchergebnissen
-
Die geografische Anwendung 14 kann Such- und Vorschlagsfunktionen in einem Online-Betrieb oder einem Offline-Betrieb unterstützen. Im Online-Betrieb kann die geografische Anwendung 14 dem Auto-Suggest-Server 23 eine teilweise vollständige Zeichenfolge bereitstellen und Suchergebnisse empfangen, die mit der teilweise vollständigen Zeichenfolge übereinstimmen. Im Offline-Betrieb kann die geografische Anwendung 14 die teilweise vollständige Zeichenfolge mit den Offline-Geodaten 64 vergleichen, um ein oder mehrere Ergebnisse zu identifizieren, die der Eingabe entsprechen. Diese Ergebnisse lassen sich dem Benutzer als Vorschläge bereitstellen. Wenn Offline- und Online-Ergebnisse als Vorschläge angezeigt werden, kann die geografische Anwendung 14 einen visuellen Hinweis bereitstellen, um den Benutzer darüber zu informieren, ob das Ergebnis von einem Netzwerkserver empfangen oder unter Verwendung von Offlinedaten erzeugt wurde.
-
Um Benutzern geografische Vorschläge auf eine effiziente und intuitive Weise bereitzustellen, kann die geografische Anwendung 14 Offlinevorschläge sofort bzw. nach Ablauf einer kurzen Timeout-Frist anzeigen (ähnlich wie für das oben erörterte Verfahren 100 beschrieben). So kann der Benutzer Offlinevorschläge anzeigen, während er auf Onlinevorschläge wartet.
-
Wenn Daten empfangen werden, kann die geografische Anwendung 14 Duplikate unter den Ergebnissen identifizieren. In einigen Fällen erhält ein Onlineduplikat mehr Informationen. Ein Online-Ergebnis kann zum Beispiel die Schreibweise eines Orts sowohl in der lokalen Sprache als auch in der Sprache des Benutzers beinhalten, während das Offline-Ergebnis möglicherweise nur eine der beiden Schreibweisen beinhaltet. Die geografische Anwendung 14 kann ein Offline-Ergebnis um diese zusätzlichen Informationen ergänzen, ohne das Ergebnis mehrfach aufzulisten. Außerdem kann die geografische Anwendung 14 die Ergebnisse z. B. in der Reihenfolge ihrer abnehmenden Relevanz anordnen, ohne die bereits angezeigten Offline-Suchergebnisse neu zu ordnen (auch wenn diese Suchergebnisse relativ niedrig eingestuft sind), um zu verhindern, dass Daten auf dem Bildschirm „herumspringen”.
-
Die Offline-Ergebnisse oder -Vorschläge können hochwertige Ergebnisse genauso beinhalten wie geringwertige Ergebnisse. Normalerweise steht in den Offline-Geodaten 64 eine große Menge an Informationen für hochwertige Ergebnisse zur Verfügung. In einigen Fällen sind hochwertige Offline-Suchergebnisse im Wesentlichen von gleich hoher Qualität wie Online-Suchergebnisse. Geringwertige Ergebnisse können deutlich weniger Informationen beinhalten als hochwertige Offline-Suchergebnisse. Wie oben erläutert können bestimmte Ergebnisse lediglich mit unvollständigen Informationen gespeichert sein. Ferner kann die kumulative Qualität von Suchergebnissen davon abhängen, ob diese Ergebnisse einer hohen Wahrscheinlichkeit für einen Treffer entsprechen, z. B. wenn der Name eines Standorts, den der Benutzer eingibt, nur mit einem Ergebnis in den Offline-Geodaten 64 übereinstimmt oder einer geringen Wahrscheinlichkeit für einen Treffer entsprechen, z. B. wenn eine teilweise vollständige Zeichenfolge mit verschiedenen Offline-Ergebnissen übereinstimmt (was es sehr wahrscheinlich macht, dass der Benutzer die meisten dieser Ergebnisse nicht sehen möchte).
-
Die geografische Anwendung 14 kann bestimmte Kompromisse zwischen Zeitverzögerungen und Verbesserungen bei der Qualität implementieren. Insbesondere veranschaulicht 4 ein exemplarisches Verfahren 300 für die Bereitstellung von Offlinevorschlägen und Suchergebnissen, wenn die geografische Anwendung 14 eine Mischung aus hochwertigen Offlinevorschlägen, geringwertigen Offlinevorschlägen und Onlinevorschlägen anzeigt. Das Verfahren 300 beginnt bei Block 302, wo eine Mischung aus Suchergebnissen/Vorschlägen angezeigt wird (siehe Erörterung oben). Anschließend wählt der Benutzer eines der Ergebnisse aus, wobei es sich um ein Online-Ergebnis oder Offline-Ergebnis mit hoher oder niedriger Qualität handeln kann.
-
Wenn ein hochwertiges Offline-Ergebnis ausgewählt wird, fährt der Ablauf mit Blöcken 304 und 306 fort, wobei eine Hintergrundanfrage nach Onlinedaten gesendet wird und die Offlinedaten angezeigt werden. Wenn der Benutzer zum Beispiel „Mag” eingibt, zeigt die geografische Anwendung 14 die Kopfzeile für „Magnolia Cafe” als hochwertigen Offlinevorschlag und bei Block 306 den Rest der verfügbaren Offlinedaten an. Da die Anfrage im Hintergrund versendet wird, stellt die geografische Anwendung 14 in dieser Implementierung keinen Hinweis zu einer Onlineanfrage bereit, um den Benutzer beim Ansehen der Offlinedaten nicht zu stören. Die verfügbaren Offlinedaten können eine kurze Übersicht, die durchschnittliche Bewertung, die Zahl der Bewertungen, die Geschäftszeiten usw. beinhalten. Wenn anschließend Onlinedaten empfangen werden, kann die geografische Anwendung 14 ein UI-Steuerungselement zur Anzeige der Onlinedaten bereitstellen.
-
Wenn ein geringwertiges Offline-Ergebnis ausgewählt wird, fährt der Ablauf zunächst mit Block 320 fort, wo eine Anfrage nach Onlinedaten gesendet wird. Die geografische Anwendung 14 kann dem Benutzer in diesem Fall einen Hinweis auf eine ausstehende Onlineanfrage bereitstellen. Wenn ein Online-Ergebnis ausgewählt wird, fährt der Ablauf gleichermaßen mit Block 320 fort.
-
Bei Block 322 lässt sich für ein geringwertiges Offline-Ergebnis ein relativ kurzer Timeout T1 festlegen (z. B. 2 Sekunden). Für ein Online-Ergebnis kann bei Block 324 ein längerer Timeout T2 eingerichtet werden (z. B. 7 Sekunden). Wenn innerhalb des jeweiligen Zeitraums Onlinedaten empfangen werden, werden die Onlinedaten bei Block 340 angezeigt. Ansonsten fährt der Ablauf nach dem Ablaufen von Timeout T1 oder T2 bzw. nach dem Fehlschlagen der Onlineanfrage mit Block 326 fort, wo ein geringwertiges Offlineergebnis angezeigt wird.
-
Als Nächstes wird bei Block 328 eine Hintergrundanfrage nach Onlinedaten sendet (ähnlich wie bei Block 304). Wenn schließlich Onlinedaten empfangen werden, während das geringwertige Offline-Ergebnis angezeigt wird, wird bei Block 330 ein UI-Steuerungselement für die Anzeige der Onlinedaten bereitgestellt. Nach Aktivierung des Steuerungselements fährt der Ablauf mit Block 340 fort.
-
Eine exemplarische Implementierung der in diesem Abschnitt erörterten Verfahren ist ein Verfahren in einem Computergerät zur Bereitstellung von Vorschlägen, die mit einer teilweise eingegebenen Benutzereingabe übereinstimmen. Das Verfahren beinhaltet (i) das Empfangen über eine Benutzeroberfläche eines Computergeräts einer partiellen Eingabe, die einem oder mehreren Zeichen eines von einem Benutzer eingegebenen Suchbegriffs entsprechen; (ii) das automatische Bereitstellen unter Verwendung eines oder mehrerer Prozessoren einer Vielzahl von Vorschlägen, die mit der partiellen Eingabe übereinstimmen, inklusive (a) eines hochwertigen Offlinevorschlags, der mithilfe von Offlinedaten erstellt wurde, die in einem Speicher des Computergeräts gespeichert sind, (b) eines geringwertigen Vorschlags, der unter Verwendung von im Speicher gespeicherten Offlinedaten erzeugt wurde, wobei hochwertige Offlinevorschläge eine Menge von Daten oberhalb eines bestimmten Schwellenwerts und geringwertige Offlinevorschläge eine Menge von Daten unterhalb des Schwellenwerts beinhalten und (c) eines von einem Onlineserver empfangenen Onlinevorschlags; (iii) wenn eine Auswahl des hochwertigen Offlinevorschlags empfangen wird, das Bereitstellen von Offlinedaten, die dem hochwertigen Offlinevorschlag entsprechen; oder (iv) wenn eine Auswahl des geringwertigen Offlinevorschlags oder des Onlinevorschlags empfangen wird, (a) das Anfordern entsprechender Onlinedaten und (b) nach Ablauf des Timers das Anzeigen von geringwertigen Offlinedaten, die dem Vorschlag entsprechen.
-
In einigen Implementierungen beinhaltet das Verfahren eines oder mehrere der nachfolgenden Merkmale. Wenn mit einem ersten Timeout-Wert der geringwertige Vorschlag und mit einem zweiten Timeout-Wert der Onlinevorschlag ausgewählt werden, wobei der zweite Timeout-Wert größer ist als der erste Timeout-Wert. Wenn der hochwertige Offlinevorschlag ausgewählt wird, beinhaltet das Verfahren das Anfordern von Onlinedaten als Hintergrundaufgabe.
-
Eine andere Implementierung dieser Verfahren ist ein Computergerät, das einen oder mehrere Prozessoren, eine Benutzeroberfläche und einen nicht flüchtigen computerlesbaren Speicher beinhaltet, in dem Befehle gespeichert sind, die sich von dem einen oder mehreren Prozessoren ausführen lassen, um das oben beschriebene Verfahren zu implementieren.
-
Exemplarische Verfahren für die Bereitstellung von Hinweisen zu bevorstehenden Gebieten, die keine Offlinedatenabdeckung aufweisen
-
Wie oben beschrieben kann die geografische Anwendung 14 in einigen Fällen eine Offlineroute erzeugen, die durch Gebiete führt, für die keine potenziell relevanten Offline-Geodaten verfügbar sind. Eine exemplarische Operation der geografischen Anwendung 14 in diesen Fällen wird als Nächstes unter Bezugnahme auf 5A–7G erörtert. Jedes der Verfahren aus 5A–C lässt sich in der geografischen Anwendung 14 bzw. allgemeiner als ein Befehlssatz implementieren, der auf einem oder mehreren Prozessoren eines einzelnen Geräts oder einer Gerätegruppe ausgeführt werden kann.
-
Unter Bezugnahme auf zunächst 5A stellt ein Verfahren 400 vor der Navigation einen Hinweis dazu bereit, dass eine Offlineroute durch geografische Gebiete führt, für die keine Offlinedaten verfügbar sind. Bei Block 403 wird eine Offlineroute empfangen. Auch wenn sich die Geometrie für die Offlineroute und die Schritt-für-Schritt-Anweisungen für die Offlineroute erzeugen lassen, beinhalten die Offline-Geodaten 64 sowie die Offline-Ortsseitendaten 66 (siehe 1) möglicherweise keine Daten, die für bestimmte Abschnitte der Offlineroute relevant sind. Außerdem kann die Offlineroute durch Gebiete führen, für die keine Offline-Straßendaten verfügbar sind (mit Ausnahme des Abschnitts, der bereits in der Offlineroute enthalten ist). Wenn bei Block 404 ermittelt wird, dass die Offlineroute durch ein Gebiet führt, für das keine Offlinedaten verfügbar sind, führt der Ablauf mit Block 406 fort. Ansonsten fährt der Ablauf mit Block 410 fort, wo unter Verwendung der Offlinedaten die Navigation beginnen kann, sobald ein entsprechender Befehl vom Benutzer empfangen wird.
-
In einigen Fällen sind die Gebiete, die das Verfahren 400 ähnlich wie Gebiete ohne Offlinedaten ermitteln kann, Gebiete, für die lediglich begrenzte Daten gespeichert sind. Den begrenzten Daten kann es zum Beispiel an Informationen fehlen, die sich auf einen größeren Funktionsbereich wie Suchen, Kartendaten für die Anzeige einer digitalen Karte oder Anweisungen beziehen. Als genaueres Beispiel sind für ein bestimmtes Gebiet lediglich Kartendaten mit geringer Auflösung bzw. ausschließlich wichtige Autobahnen für die Navigation gespeichert, während für die meisten oder alle anderen Gebiete, die mit der Navigationsroute verbunden sind, hochauflösende Kartendaten sowie Autobahnen zusammen mit kleineren Landstraßen für die Navigation gespeichert sind. In einigen Fällen kann die Erzeugung von Routen und digitalen Karten in einem Offline-Betrieb voll funktionsfähig sein, während die Suchfunktion möglicherweise nicht verfügbar ist. In anderen Fällen ist die Routing-Funktion möglicherweise nicht verfügbar.
-
Bei Blöcken 406 wird z. B. eine Visualisierung des Gebiets mit Offlinedaten sowie der Gebiete ohne Offlinedaten erzeugt (siehe Darstellung in 6A). Bei Block 408 wird eine Warnung hinsichtlich der Begrenzungen angezeigt, die mit Gebieten ohne Offlinedaten verbunden sind. Die geografische Anwendung 14 kann zum Beispiel jene Gebiete, die keine Offlinedaten aufweisen, auf der Karte ausgrauen und dem Benutzer eine Warnung anzeigen, dass die geografische Anwendung 14 den Benutzer möglicherweise nicht zurück leiten kann, sollte er sich von der Offlineroute entfernen. Die Warnung kann sich spezifisch auf die Begrenzung der Offlinedaten beziehen. Nach Empfang einer Bestätigung vom Benutzer oder nach Ablauf eines Timeouts fährt der Ablauf mit Block 410 fort, um mit der Offline-Navigation zu beginnen.
-
Während der Navigation kann die geografische Anwendung 14 ein exemplarisches Verfahren 450 zur Bereitstellung eines Hinweises darüber ausführen, dass eine Offlineroute durch geografische Gebiete führt, für die keine Offlinedaten verfügbar sind (siehe Darstellung in 5B).
-
Bei Block 453 leitet die geografische Anwendung 14 den Benutzer entlang einer Offlineroute, indem sie einen Indikator zum aktuellen Standort auf der digitalen Karte bewegt, Schritt-für-Schritt-Anweisungen in Textform anzeigt, die Anweisungen in einem Audioformat meldet etc. Bei Block 454 wird ermittelt, dass sich ein Gebiet ohne Offlinedaten innerhalb von N Meilen zum aktuellen Standort des Benutzers befindet (z. B. 5 Meilen. Wenn das Gebiet ohne Offlinedaten entlang der Offlineroute mehr als M Meilen lang ist (z. B. 10 Meilen), kann eine Warnung hinsichtlich dieses Gebiets bereitgestellt werden. Insbesondere kann deutlich sichtbar eine Meldung angezeigt werden (siehe Darstellung in 6B), in der die verbleibende Entfernung zur Grenze des Gebiets, die Größe des Gebiets usw. angegeben werden. Außerdem kann auf der digitalen Karte ein grafischer Hinweis bereitgestellt werden (z. B. in Form eines ausgegrauten Bereichs). In anderen Szenarien kann diese Warnung (sowie andere Warnungen und Meldungen dieser Offenbarung) hörbar bzw. spürbar (z. B. per Vibrationssignal) bereitgestellt werden. Während der Benutzer durch das Gebiet ohne Offlineabdeckung fährt, kann die Navigation „normal” erscheinen; die geografische Anwendung 14 kann jedoch z. B. weiter einen Hinweis zur fehlenden Verfügbarkeit von Offlinedaten anzeigen (siehe Darstellung in 6C).
-
Ferner zeigt 5C ein Ablaufdiagramm eines exemplarischen Verfahrens 480 für die Bereitstellung von Vorschlägen im Hinblick auf geografische Gebiete, für die keine Offlinedaten vorhanden sind, wobei sich die geografischen Gebiete entlang der aktuell ausgewählten Navigationsroute befinden.
-
Bei Block 482 leitet die geografische Anwendung 14 den Benutzer entlang einer Offlineroute (wie in 7A dargestellt). Als Nächstes wird bei Block 484 ermittelt, dass sich ein Gebiet ohne Offlinedaten innerhalb von N Meilen zum aktuellen Standort befindet. Eine Vorschlagskategorie wie Essen oder Benzin wird bei Block 486 als auswählbare Option bereitgestellt (siehe Darstellung in 7B). Insbesondere kann die geografische Anwendung dem Benutzer vorschlagen, dass er sich vor Erreichen des Gebiets, in dem die geografische Anwendung 14 dem Benutzer keine zusätzlichen Informationen bereitstellen kann, mit Essen oder Benzin versorgt. Wenn der Benutzer die Kategorie bei Block 477 auswählt, fährt der Ablauf mit Block 490 fort. Sonst kehrt der Ablauf zu Block 486 zurück, wo sich eine neue Kategorie auswählen lässt.
-
Bei Block 490 werden Orte aus der bestätigten Kategorie vorgeschlagen (siehe Darstellung in 7C). Wenn der Benutzer einen dieser Orte auswählt, wird der Ort bei Block 492 der Route hinzugefügt (siehe Darstellung in 7D). Dieses Zwischenziel kann auf der Karte dargestellt werden (siehe Darstellung in 7E). Die Navigation wird bei Block 494 fortgesetzt (siehe Darstellung in 7F). Sobald der Benutzer das Gebiet ohne Offlinedaten erreicht, kann auf der Karte ein entsprechender Hinweis bereitgestellt werden (siehe Darstellung in 7G).
-
Eine exemplarische Implementierung der in diesem Abschnitt erörterten Verfahren ist ein Verfahren in einem Computergerät zur Benachrichtigung von Benutzern hinsichtlich eines bevorstehenden Verlusts der Verfügbarkeit von Offlinedaten, wenn der Benutzer entlang einer Offlineroute geleitet wird. Das Verfahren beinhaltet (i) das Empfangen einer Anfrage nach Navigationsanweisungen für das Fahren von einem Ursprungsort zu einem Zielort, (ii) das Generieren unter Verwendung eines oder mehrerer Prozessoren von Navigationsanweisungen für das Fahren vom Ursprungsort zum Zielort mithilfe von Daten, die vor der Anfrage in einem Speicher des Computergeräts gespeichert wurden, (iii) das Ermitteln unter Verwendung eines oder mehrerer Prozessoren, dass die Offline-Navigation durch ein Gebiet einer bestimmten Mindestgröße führt, für die im Speicher des Computergeräts keine Offlinedaten oder nur begrenzte Daten gespeichert sind, die mit Orten entlang der Navigationsroute verbunden sind, (iv) als Reaktion auf die Ermittlung, dass sich das Computergerät in einer bestimmten Schwellenentfernung von einer Grenze des Gebiets befindet, das automatische Bereitstellen einer Meldung zum Gebiet über eine Benutzeroberfläche des Computergeräts.
-
In einigen Implementierungen beinhaltet das Verfahren eines oder mehrere der nachfolgenden Merkmale. Das Verfahren beinhaltet das automatische Vorschlagen einer spezifischen Kategorie von Geschäften, nach denen vor Ankunft in dem Gebiet gesucht werden soll. Bei der spezifischen Kategorie kann es sich zum Beispiel um Tankstellen handeln. Das Verfahren beinhaltet das Erzeugen einer Visualisierung des Gebiets, das keine Offlinedaten oder nur begrenzte Daten aufweist, relativ zu anderen auf der digitalen Karte angezeigten Gebieten.
-
Eine andere Implementierung dieser Verfahren ist ein Computergerät, das einen oder mehrere Prozessoren, eine Benutzeroberfläche und einen nicht flüchtigen computerlesbaren Speicher beinhaltet, in dem Befehle gespeichert sind, die sich von dem einen oder mehreren Prozessoren ausführen lassen, um das oben beschriebene Verfahren zu implementieren.
-
Exemplarische Verfahren für die Bereitstellung von Ortsinformationen in verschiedenen Modi
-
Unter Bezugnahme auf 8 kann ein exemplarisches Verfahren 700 für die Bereitstellung von Informationen über geografische Orte in einem Offline-Betrieb und einem Online-Betrieb ebenfalls in der geografischen Anwendung 14 oder einem bzw. mehreren anderen geeigneten Softwaremodulen implementiert sein.
-
Das Verfahren 700 beginnt bei Block 702, wo für bestimmte Orte kompakte Informationen zur späteren Verwendung im Offline-Betrieb gespeichert sind. Wie oben erörtert können die kompakten Informationen für einen Ort einen Untersatz der Daten beinhalten, die in der Ortsseitendatenbank 34 verfügbar sind (z. B. die Telefonnummer eines Geschäfts, die Öffnungszeiten, die Zahl der erhaltenen Bewertungen und den Durchschnitt auf einer bestimmten Skala, die Adresse und ggf. eine redaktionelle Übersicht).
-
Bei Block 704 werden die kompakten Informationen als Reaktion auf eine Anfrage in einem Offline-Betrieb oder automatisch als Teil eines Vorschlags angezeigt. Bei Block 706 werden Onlinedaten bezüglich des Orts empfangen, bei Block 708 werden die empfangenen Onlinedaten mit den Offlinedaten zusammengeführt. Die zusammengeführten Daten werden bei Block 710 angezeigt. Wie oben erörtert kann ein Suchergebnis auf einer Liste zum Beispiel in der gleichen Position angezeigt werden, möglicherweise wird jedoch eine Schreibweise in einer anderen Sprache hinzugefügt. Wenn der Benutzer bereits eine Informationskarte abgerufen hat, auf der begrenzte oder kompakte Informationen für den Ort angezeigt werden, kann die geografische Anwendung 14 die Onlinedaten selektiv mit dem Informationsblatt zusammenführen. Die geografische Anwendung 14 kann nun zum Beispiel ein Steuerungselement zur Aktualisierung des angezeigten Ergebnisses anzeigen und – wenn keine Neuordnung der bereits angezeigten Daten erforderlich ist – unten zusätzliche Links, Bilder usw. hinzufügen.
-
Eine exemplarische Implementierung der in diesem Abschnitt erörterten Verfahren ist ein Verfahren in einem Computergerät für die Bereitstellung von Informationen über Geschäfte. Das Verfahren beinhaltet (i) das Empfangen auf einem Computergerät von einem Onlineserver vollständiger Informationen hinsichtlich eines geolokalisierten Orts, (ii) das Speichern in einem Speicher des Computergeräts eines Untersatzes der vollständigen Informationen, (iii) anschließend das Bereitstellen des gespeicherten Untersatzes der empfangenen Informationen über eine Benutzeroberfläche des Computergeräts, (iv) das Empfangen der vollständigen Informationen bezüglich des geolokalisierten Orts vom Onlineserver, (v) das Zusammenführen der vollständigen Informationen mit dem Untersatz der vollständigen Informationen; und (vi) das Anzeigen der zusammengeführten Informationen mittels der Benutzeroberfläche.
-
Zusätzliche Überlegungen
-
Die folgenden zusätzlichen Überlegungen gelten für die vorstehende Erörterung. In dieser gesamten Spezifikation können mehrere Beispiele Komponenten, Operationen oder Strukturen implementieren, die als ein Beispiel beschreiben sind. Auch wenn einzelne Operationen von einem oder mehreren Verfahren als getrennte Operationen veranschaulicht und beschrieben sind, können eine oder mehrere der einzelnen Operationen gleichzeitig durchgeführt werden und es ist nicht erforderlich, dass die Operationen in der veranschaulichten Reihenfolge durchgeführt werden. Strukturen und Funktionen, die in exemplarischen Konfigurationen als getrennte Komponenten dargestellt sind, können als kombinierte Struktur oder Komponente implementiert werden. In ähnlicher Weise können Strukturen und Funktionen, die als einzelne Komponenten dargestellt sind, als getrennte Komponenten implementiert werden. Diese und andere Variationen, Modifikationen, Ergänzungen und Verbesserungen fallen in den Anwendungsbereich des hierin beschriebenen Gegenstands.
-
Bestimmte Implementierungen werden hier als Logik oder eine Reihe von Komponenten, Modulen oder Mechanismen einschließende Implementierungen beschrieben. Module können entweder Softwaremodule (z. B. Code, der auf einem maschinenlesbaren Medium oder in einem Übertragungssignal vorhanden ist) oder Hardwaremodule sein. Ein Hardwaremodul ist ein physisches Gerät, das bestimmte Operationen durchführen und in einer bestimmten Weise konfiguriert oder angeordnet sein kann. In exemplarischen Ausführungsformen können eines oder mehrere Computersysteme (z. B. ein Standalone-, Client- oder Server-Computersystem) oder eines oder mehrere Hardwaremodule eines Computersystems (z. B. ein Prozessor oder eine Gruppe von Prozessoren) von der Software (z. B. einer Anwendung oder einem Anwendungsteil) als Hardwaremodul konfiguriert werden, um bestimmte, hierin beschriebene Operationen durchzuführen.
-
Sofern nicht speziell anders angegeben, können sich Erörterungen hierin, die Wörter wie „Verarbeitung”, „Computing”, „Berechnung”, „Bestimmung”, „Darstellung”, „Anzeige” Ähnliches verwenden, auf Aktionen oder Prozesse einer Maschine (z. B. eines Computers) beziehen, die Daten bearbeiten oder umwandeln, die als physische (z. B. elektronische, magnetische oder optische) Mengen in einem oder mehreren Speichern (z. B. flüchtiger Speicher, nicht flüchtiger Speicher oder eine Kombination davon), Registern oder anderen Maschinenkomponenten dargestellt sind, die Informationen empfangen, speichern, übertragen oder anzeigen.
-
Wenn in diesem Dokument von „einer Implementierung” die Rede ist, heißt das, dass ein bestimmtes Element, eine bestimmte Funktion, ein bestimmter Aufbau oder ein bestimmtes Merkmal, das, die bzw. der im Zusammenhang mit der Ausführung beschrieben wird, in mindestens einer Ausführung enthalten ist. Wenn an verschiedenen Orten in der Schrift der Ausdruck „in einer Implementierung” erscheint, so wird damit nicht immer unbedingt auf ein und dieselbe Implementierung Bezug genommen.
-
Einige Implementierungen können mittels der Ausdrücke „gekoppelt” und „verbunden” sowie deren Derivaten beschrieben werden. Beispielsweise können einige Implementierungen mittels des Ausdrucks „gekoppelt” beschrieben werden, um anzuzeigen, dass sich zwei oder mehrere Elemente in direktem physischem oder elektrischem Kontakt befinden. Der Begriff „gekoppelt” kann jedoch auch bedeuten, dass eines oder mehrere Elemente nicht im direkten Kontakt miteinander sind, aber trotzdem zusammenarbeiten oder interagieren. Die Implementierungen unterliegen in diesem Zusammenhang keinen Einschränkungen.
-
Wie hierin verwendet sollen die Begriffe „umfasst”, „umfassend”, „beinhaltet”, „enthält”, „hat”, „haben” und andere Varianten davon eine nicht ausschließliche Einbeziehung abdecken. Zum Beispiel ist ein Prozess, ein Verfahren, ein Artikel oder eine Vorrichtung, der/die eine Liste von Elementen umfasst, nicht notwendigerweise auf diese Elemente beschränkt, sondern kann andere Elemente beinhalten, die nicht ausdrücklich aufgelistet oder einem solchen Prozess, einem solchen Verfahren, einem solchen Artikel oder einer solchen Vorrichtung inhärent sind. Des Weiteren bezieht sich, sofern nichts Gegenteiliges angegeben ist, „oder” auf ein einschließendes und nicht auf ein ausschließendes Oder. Zum Beispiel ist eine Bedingung A oder B durch eines der folgenden Aussagen erfüllt: A ist wahr (oder vorhanden) und B ist falsch (oder nicht vorhanden), A ist falsch (oder nicht vorhanden) und B ist wahr (oder vorhanden) und sowohl A als auch B sind wahr (oder vorhanden).
-
Darüber hinaus wird das Wort „ein” bzw. „eine” zur Beschreibung von Elementen und Komponenten der in diesem Dokument behandelten Ausführungen benutzt. Dies geschieht allein der Einfachheit halber und zu dem Zweck, eine allgemeine Vorstellung der verschiedenen Ausführungen zu vermitteln. Die Beschreibung sollte so gelesen werden, dass sie eines oder mindestens eines beinhaltet und der Singular beinhaltet auch den Plural, außer es ist offensichtlich anders vorgesehen.
-
Beim Lesen dieser Offenbarung wird der Durchschnittsfachmann noch weitere alternative strukturelle und funktionelle Konzepte für das Zusammenführen von Online-Geodatenvorschlägen mit Offline-Geodatenvorschlägen mittels der in diesem Dokument offenbarten Prinzipien erkennen. Daher versteht sich, dass während hier einige spezielle Implementierungen und Anwendungen veranschaulicht und beschrieben worden sind, die offenbarten Ausführungen nicht auf den exakten Aufbau und genau die Komponenten, die in diesem Dokument offenbart werden, beschränkt sind. Verschiedene Modifikationen, Änderungen und Variationen, die für Fachleute auf dem Gebiet ersichtlich sind, können in der Anordnung, dem Betrieb und in den Einzelheiten der Verfahren und der Vorrichtung, die hierin offenbart werden, erfolgen.