-
VERWEIS
-
Unter Schutz gestellt werden und Gegenstand des Gebrauchsmusters sind dabei, 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.
-
GEBIET DER OFFENBARUNG
-
Die beschriebenen Ausführungsformen betreffen allgemein digitale Karten und insbesondere das integrieren von digitalen Karten mit Straßenansichten.
-
HINTERGRUND
-
Digitale Karten werden in einer breiten Vielfalt von Geräten eingesetzt, darunter in Fahrzeugnavigationssystemen, tragbaren GPS-Einheiten, Mobiltelefonen und auf vielen Websites. Die meisten Geräte zeigen digitale Karten in einer Form von Draufsicht an, zum Beispiel als zylindrische Projektion (z. B. Mercator) oder als Blick aus der „Vogelperspektive” der eine Draufsicht mit Perspektive bietet. Vor kurzem haben manche Websites, zum Beispiel GOOGLE MAPS, ihren Karten eine Straßenansichtsfunktion hinzugefügt. Eine Straßenansicht ist eine Darstellung von einem Blickpunkt in Bodennähe aus (z. B. von einer auf einem Fahrzeug montierten Kamera aus). Die Straßenansicht kann aus Fotoaufnahmen von vielen Orten in der ganzen Welt, mithilfe von dreidimensionaler Grafik oder einer Kombination davon erzeugt werden. Eine Straßenansicht bietet die Perspektive, die eine Person von der Welt hat, und kann nicht auf andere Weise aus einer Draufsicht auf eine Karte verfügbar gemacht werden. Jedoch kann das Navigieren durch eine Straßenansicht eine langsame und verwirrende Erfahrung sein, die die Benutzer daran hindert, effektiven Gebrauch von den in Straßenansichten verfügbaren Zusatzinformationen zu machen.
-
ZUSAMMENFASSUNG
-
Die beschriebenen Ausführungsformen Bieten Verfahren und Systeme für das Integrieren einer Draufsichtdarstellung eines Gebiets (z. B. eine Straßenkarte) mit einer Straßenansichtsperspektive des Gebiets. In einer Ausführungsform hat eine Benutzerschnittstelle mindestens zwei Regionen, die Ausgabe für die Anzeige sind. Eine Draufsichtdarstellung auf ein Gebiet wird in einer ersten Region der Schnittstellenanzeige angezeigt. Zum Beispiel kann die Draufsichtdarstellung eine Straßenkarte sein. Die erste Region der Anzeige der Benutzerschnittstelle umfasst auch ein interaktives Bedienelement, das eine Position und eine Ausrichtung in der Draufsichtdarstellung hat. Eine Straßenansichtsperspektive des Gebiets wird gleichzeitig mit der ersten Region in einer zweiten Region der Anzeige der Benutzerschnittstelle angezeigt. Das interaktive Bedienelement ist mit der Straßenansichtsperspektive synchronisiert, sodass der in der Straßenansicht dargestellte Blick der Position und Ausrichtung des interaktiven Bedienelements entspricht. Es werden Informationen über eine Benutzereingabe empfangen, die das interaktive Bedienelement verstellt (z. B. durch Drehen, Ziehen oder Kippen). Als Reaktion darauf wird die Straßenansichtsperspektive aktualisiert und verfolgt die Ausrichtung oder Position des Bedienelements entsprechend den Änderungen.
-
In manchen Ausführungsformen spiegelt sich das Sichtfeld der Straßenansichtsperspektive im Aussehen des interaktiven Bedienelements wider. Zum Beispiel kann das Sichtfeld durch einen Sichtkegel im interaktiven Bedienelement angegeben sein. In anderen Ausführungsformen kann eine Markierung in der ersten Region, der ein Merkmal darstellt (z. B. Restaurant oder im Geschäft) an einen anderen Ort in der Draufsichtdarstellung verschoben (z. B. gezogen) werden. Während die Markierung verschoben wird, wird die Straßenansichtsperspektive aktualisiert und folgt dem Ort der Markierung. Diese Funktionen bieten ein benutzerfreundlicheres Erlebnis beim Navigieren oder Bearbeiten von Karten in Verbindung mit einer Straßenansicht.
-
Die in dieser Zusammenfassung beschriebenen Merkmale und Vorteile und die folgende ausführliche Beschreibung sind nicht allumfassend. Den Fachleuten werden anhand der Zeichnungen, Beschreibung und der Ansprüche hiervon viele weitere Merkmale und Vorteile ersichtlich sein.
-
KURZBESCHREIBUNG DER ZEICHNUNGEN
-
1 ist ein Blockdiagramm einer Computerumgebung für ein Kartensystem gemäß einer Ausführungsform.
-
2 ist eine Benutzerschnittstelle für das Integrieren einer Karte mit einer Straßenansicht gemäß einer Ausführungsform.
-
3A zeigt das Drehen eines interaktiven Bedienelements gemäß einer Ausführungsform.
-
3B zeigt das Ziehen eines interaktiven Bedienelements gemäß einer Ausführungsform.
-
4 ist eine Benutzerschnittstelle für das Integrieren einer Karte mit einer Straßenansicht gemäß einer Ausführungsform.
-
5 ist ein Verfahren zum Integrieren einer Karte mit einer Straßenansicht gemäß einer Ausführungsform.
-
6 ist ein Verfahren zum Integrieren einer Karte mit einer Straßenansicht gemäß einer Ausführungsform.
-
Die Figuren bilden nur zum Zwecke der Veranschaulichung eine bevorzugte Ausführungsform der vorliegenden Offenbarung ab. Ein Fachmann wird aus der folgenden Erörterung leicht erkennen, dass alternative Ausführungsformen der hierin dargestellten Strukturen und Verfahren eingesetzt werden können, ohne von den Prinzipien der hier beschriebenen Offenbarung abzuweichen.
-
DETAILLIERTE BESCHREIBUNG
-
SYSTEMÜBERBLICK
-
1 ist ein Blockdiagramm, das eine Computerumgebung für ein Kartensystem gemäß einer Ausführungsform zeigt. Wie in 1 dargestellt, umfasst die Computerumgebung einen Kartenserver 105, der mit einer Anzahl von Clients 115 über ein Netzwerk 125 verbunden ist. Der Kartenserver 105 umfasst Funktionen für das integrieren einer Karte mit einer Straßenansicht. Der Kartenserver 105 erzeugt eine Benutzerschnittstelle, die eine Region für das Anzeigen einer Karte und eine andere Region für das Anzeigen einer Straßenansicht beinhaltet. In einer Ausführungsform wird ein interaktives Bedienelement auf der Karte zum Steuern der Perspektive der Straßenansicht verwendet. In manchen Ausführungsformen spiegelt sich das Sichtfeld der Straßenansicht im Aussehen des interaktiven Bedienelements wider. In anderen Ausführungsformen verfolgt die Straßenansicht die Position einer Markierung auf der Karte, während die Markierung auf der Karte verschoben wird.
-
In dieser Schrift werden verschiedene Ausführungsformen zum Zweck einer klaren Darstellung durch Bezugnahme auf Straßenkarten und Straßenansichten beschrieben. Die hierin beschriebenen Prinzipien lassen sich jedoch auf eine beliebige Benutzerschnittstelle anwenden, die eine Draufsichtdarstellung mit einer Straßenansichtsperspektive integriert. Zum Beispiel ist eine Straßenkarte nur ein Beispiel für eine Draufsichtdarstellung und eine Straßenansicht ist nur ein Beispiel für eine Straßenansichtsperspektive. In anderen Ausführungsformen kann die Draufsichtdarstellung zum Beispiel ein Grundriss für ein Gebäude und die Straßenansichtsperspektive die Innenansicht des Gebäudes von einem bestimmten Ort im Grundriss aus sein.
-
In einer Ausführungsform ist der Kartenserver 105 als Computer der Server-Klasse implementiert, der CPU, Speicher, Netzwerkschnittstelle, Peripherieschnittstellen und andere wohlbekannte Komponenten umfasst. Wie dem Fachmann bekannt ist, können andere Arten von Computern mit anderen Architekturen verwendet werden. Der Server 105 kann entweder auf einem einzelnen Computer oder mithilfe von mehreren miteinander vernetzten Computern implementiert werden. Der Server 105 ist auch zum Ausführen von Computerprogrammmodulen zum Bereitstellen von hierin beschriebenen Funktionen eingerichtet. Wie hierin verwendet beziehen sich der Begriff „Module” auf die Computerprogrammlogik, die zum Bereitstellen der spezifizierten Funktionalität verwendet wird. Daher kann ein Modul oder eine Routine in Hardware, Firmware und/oder Software implementiert werden. In einer Ausführungsform werden Programmmodule in einem nichtflüchtigen computerlesbaren Speichermedium (z. B. RAM, Festplatte, optische/magnetische Medien usw.) gespeichert und durch einen Prozessor ausgeführt, oder können von Computerprogrammprodukten bereitgestellt werden, die in nichtflüchtigen computerlesbaren Speichermedien gespeichert sind.
-
Wie in 1 dargestellt, umfasst der Kartenserver 105 eine Kartendaten-Datenbank 110, eine Straßenansichten-Datenbank 111, ein Frontend-Modul 132, ein Kartenmodul 130 und ein Straßenansichtsmodul 131. Im Allgemeinen können Funktionen, die in einer Ausführungsform als auf der Serverseite ausgeführt beschrieben werden, in anderen Ausführungsformen bei Bedarf auch auf der Clientseite ausgeführt werden. Außerdem kann die einer bestimmten Komponente zugeschriebene Funktionalität auch von anderen oder mehreren zusammenwirkenden Komponenten ausgeführt werden.
-
Die Kartendaten-Datenbank 110 umfasst Kartendaten für Merkmale (z. B. Straßen, Parks, Gewässer, Gebäude, Restaurants, Krankenhäuser, Unternehmen), die zum Erzeugen einer digitalen Karte verwendet werden können. Zum Beispiel können die Kartendaten Ortsinformationen (z. B. GPS-Koordinaten, Längen- und Breitengrade) und andere Eigenschaftsangaben (z. B. Name, Größe, Form) für verschiedene Merkmale beinhalten. Die Straßenansichten-Datenbank 111 umfasst Bilder einer Vielzahl von Standorten von Blickpunkten annähernd auf Straßenebene aus (z. B. Nahe der Augenhöhe eines menschlichen Beobachters). Jedes Bild ist mit einem geographischen Ort (z. B. GPS-Koordinaten usw.) und einer Ausrichtung verbunden, sodass 360°-Panoramaansichten aus Sätzen von Bildern erstellt werden können. Die Straßenansichten können tatsächliche Fotografien oder an vielen geographischen Standorten in der ganzen Welt aufgenommene Standbilder sein. Zum Beispiel können die Bilder mit einer gegenüber der Bodenebene erhöhten, auf einem Fahrzeug montierten Kamera aufgenommen worden sein. Die Straßenansichten können auch computergenerierte Wiedergaben sein, die mit 3D-Modellierverfahren sowie durch Analyse und Integration von Fotos erstellt wurden. Bilder können nur für diskrete Punkte auf der Welt existieren, sodass nicht alle Perspektiven wieder erstellt werden können.
-
Eine Kartendaten-Datenbank 110 und Straßenansichten-Datenbank 111 sind als im Server 105 gespeichert dargestellt. Als Alternative sind viele andere Konfigurationen möglich. Die Datenbanken 110 und 111 brauchen nicht physikalisch innerhalb des Servers 105 angeordnet zu sein. Die Datenbanken können beispielsweise in einem Client 115, einem externen Speicher, der an den Server 105 angeschlossen ist, oder in einem Netzwerkspeicher gespeichert sein. Zusätzlich können mehrere Server 105 vorhanden sein, die mit einer einzelnen Datenbank 110 oder 111 verbunden sind.
-
Das Kartenmodul 130 greift auf die in der Kartendaten-Datenbank 110 gespeicherten Kartendaten zu, um eine Karte zu erzeugen. Eine Karte ist eine visuelle Darstellung eines bestimmten Gebiets der Welt in der Draufsicht. Die Karte kann eine zweidimensionale (2D), eine zweieinhalbdimensionale (2,5D) oder eine dreidimensionale (3D) Darstellung sein. Außerdem kann die Karte Merkmale wie Straßen, Gebäude, Geschäfte und weitere üblicherweise auf Karten dargestellten Merkmale umfassen.
-
Das Steuermodul 133 generiert ein interaktives Bedienelement, das als optischer Indikator über die Karte gelegt werden kann. Das interaktive Bedienen Element hat eine Position und Ausrichtung, die von einem Benutzer des mit der Karte zusammenwirkenden Clients 115 verstellt werden kann. Das interaktive Bedienelement ist für das Synchronisieren der vom Kartenmodul 130 generierten Karte mit der vom Straßenansichtsmodul 131 generierten Straßenansicht ausgelegt, wie im Folgenden unter Bezugnahme auf 2–3 erläutert wird und trägt so dazu bei, eine Integration der Karte mit der Straßenansicht in Echtzeit anzubieten. In manchen Ausführungsformen verändert sich das Aussehen des interaktiven Bedienelements, um das in der Straßenansicht gezeigte Sichtfeld grafisch zu veranschaulichen.
-
Das Markierungsmodul 132 erzeugt Markierungen, die eine Art von interaktivem optischem Indikator sind. Markierungen stellen bestimmte Merkmale in der Karte dar und können über die Karte und/oder die Straßenansicht gelegt werden. Zum Beispiel kann die Position einer Markierung den Standort eines bestimmten Restaurants oder Geschäfts angeben. Markierungen können von einem Benutzer eines mit der Karte zusammenwirkenden Clients 115 positioniert werden und werden auch mit der vom Straßenansichtsmodul 131 generierten Straßenansicht synchronisiert. Markierungen werden unter Bezugnahme auf 4 erläutert.
-
Das Straßenansicht Modul 131 greift auf die Bilder in der Straßenansichten-Datenbank 111 zu, um eine Straßenansicht zur Anzeige in einem Straßenansichtsfenster zu generieren. Die Straßenansicht wird mit der Position und Ausrichtung des aktiven bedienen Elements und/oder der Position der Markierung synchronisiert. In einer Ausführungsform stellt die Straßenansicht den Blickpunkt einer Kamera oder Person dar, die sich in der wirklichen Welt in der vom interaktiven Bedienelement bezeichneten Position befindet und in die vom interaktiven Bedienelement angegebene Richtung schaut. Wenn ein Benutzer des Clients 115 das interaktive Bedienelement oder die Markierungen verstellt, empfängt das Straßenansicht Modul 131 die Änderungen und aktualisiert die Straßenansicht automatisch so, dass die Änderungen entsprechend wiedergegeben werden.
-
Das Frontend-Modul 134 generiert eine Benutzerschnittstelle, die mindestens zwei gleichzeitig angezeigte Regionen beinhaltet: eine Region für die Karte und das interaktive Bedienelement und eine andere Region für die Straßenansicht. Die Regionen können zum Beispiel verschiedene Regionen im gleichen Fenster oder getrennte Fenster innerhalb der gleichen Schnittstelle sein. Das Frontend-Modul 134 führt auch die Kommunikation mit dem Client 115. Das Frontend-Modul gibt die Benutzerschnittstelle (z. B. als HTML oder andere Information) an das Clientgerät 134 zur Anzeige für einen Benutzer des Clientgeräts 115 aus. In diesem Dokument bedeutet „Anzeigen” entweder die direkte oder die indirekte Anzeige von Informationen. Das Frontend-Modul 132 empfängt auch Informationen über Benutzereingaben von den Clients 115, zu denen Informationen über Benutzereingaben zum Suchen, Navigieren, oder Bearbeiten der Karte und Straßenansicht gehören. Diese Benutzereingaben werden an die verschiedenen Module (130–133) des Kartenservers 105 für das Aktualisieren der Karten, Straßenansichten, interaktiven Bedienelemente und Markierungen weitergegeben.
-
In einer Ausführungsform stellt ein Client 115, der einen Browser 120 ausführt, eine Verbindung zum Kartenserver 105 über das Netzwerk 125 her, um auf eine Karte zuzugreifen und/oder Änderungen an Merkmalen in der Karte vorzunehmen. Das Netzwerk kann unter anderem eine beliebige Kombination aus einem LAN-, MAN-, WAN-, einem mobilen, drahtgebundenen und drahtlosen Netzwerk, privaten Netzwerk oder virtuellen privaten Netzwerk beinhalten, ohne darauf beschränkt zu sein. Während in 1 nur drei Clients 115 dargestellt sind, werden im Allgemeinen sehr große Zahlen (z. B. Millionen) von Clients 115 unterstützt und können zu jedem Zeitpunkt mit dem Kartenserver 105 kommunizieren. In einer Ausführungsform kann der Client 115 mit einem beliebigen aus einer Vielzahl von verschiedenen Computern implementiert werden, zum Beispiel Personalcomputer, digitale Assistenten, PDAs, Handys, Mobiltelefone, Smartphones und Laptops.
-
Der Browser 120 kann jede Anwendung umfassen, die es den Benutzern von Clients 115 gestattet, auf Webseiten im World Wide Web zuzugreifen. Geeignete Anwendungen sind unter anderem GOOGLE CHROME, MICROSOFT INTERNET EXPLORER, NETSCAPE NAVIGATOR, MOZILLA FIREFOX und APPLE SAFARI, doch ist die Erfindung nicht darauf beschränkt. Der Browser 120 kann eine Karte anzeigen und Benutzereingaben zum Navigieren durch die Karte oder zu Veränderungen der Karte empfangen. Als Alternative kann ein vom Browser 120 getrenntes unabhängiges Programm, wie eine ANDROID oder IPHONE-Anwendung, die zum Zugriff auf Karten ausgelegt ist, auf die Karten zugreifen
-
Der Browser 120 gestattet einem Benutzer des Clients 115, auf Karten und Straßenansichten vom Kartenserver 105 über eine vom Frontend-Modul 132 bereitgestellte Benutzerschnittstelle zuzugreifen und sie anzuzeigen. Über die Schnittstelle kann ein Benutzer das interaktive Bedienelement und Markierungen mit einer Benutzereingabe wie Tastatur, Maus oder Berührungsbildschirm verstellen. Die Benutzereingabe wird dann an den Kartenserver 120 zum Aktualisieren der an den Clientgeräten 115 angezeigten Informationen weitergeleitet.
-
SCHNITTSTELLE ZUM INTEGRIEREN VON KARTENANSICHT UND STRAßENANSICHT
-
2 ist eine Benutzerschnittstelle 200 für das Integrieren einer Karte mit einer Straßenansicht gemäß einer Ausführungsform. Wie dargestellt, umfasst die Benutzerschnittstelle 200 eine Kartenansicht Region 210 und eine Straßenansichtsregion 212, die gleichzeitig als vertikal getrennte Regionen angezeigt werden. In anderen Ausführungsformen kann die Anordnung der beiden Regionen anders sein. Zum Beispiel können die Regionen unterschiedliche Größen oder Formen haben. Als weiteres Beispiel kann die Straßenansichtsregion 212 in einem Vorschaumodus als kleine Vorschauregion in einer Ecke einer größeren Kartenansichtsregion 210 dargestellt werden, wobei der Benutzer zwischen dem Vorschaumodus und der geteilten Anzeige umschalten kann.
-
Die Kartenansichtsregion 210 beinhaltet eine 2D-Draufsicht auf mehrere Straßen und deren Kreuzungen Zu anderen Merkmalen, die ebenfalls in der Karte der Kartenansichtsregion 210 angezeigt werden können, gehören Gebäude, Parks, Restaurants usw. (nicht dargestellt). In anderen Ausführungsformen kann die Kartenansichtsregion andere Darstellungen einer Karte, zum Beispiel 2,5D-Darstellung, 3D-Darstellung, Reliefdarstellung oder ein Satellitenbild beinhalten.
-
Die Kartenansichtsregion 210 umfasst ein interaktives Bedienelement 220, mit dem die Kartenansichtsregion 210 mit der Straßenansichtsregion 212 synchronisiert wird. Das interaktive Bedienelemente ist ein optischer Indikator, der sowohl eine Position als auch eine Ausrichtung hat. Die Position des interaktiven Bedienelements 220 wird durch ein „Klammermännchen” 222 angegeben, ein Symbol, das in der Mitte des interaktiven Bedienelements 220 den Blickpunkt für die Straßenansichtsregion 212 angibt. Zum Beispiel befindet sich das hier dargestellte interaktive Bedienelement 220 in der Utah Street. Die Ausrichtung des interaktiven Bedienelements 220 wird durch die Richtung des Kegels 224, der sich vom Klammermännchen 222 in der Mitte des interaktiven Bedienelements 220 aus erstreckt. Mit anderen Worten, der Kegel 224 stellt die Richtung dar, in die das Klammermännchen 222 blickt. Zum Beispiel ist das interaktive Bedienelement 220 hier in einer nordöstlichen Richtung zur Nordseite der Utah Street ausgerichtet. In anderen Ausführungsformen kann das interaktive Bedienelement ein anderes Aussehen als das in 2 dargestellte haben.
-
Die Straßenansichtsregion 212 umfasst eine Straßenansicht, die mit dem interaktiven Bedienelement 224 der Kartenansichtsregion 210 synchronisiert wird. Insbesondere entspricht die in der Straßenansichtsregion 212 dargestellte Ansicht dem Blickpunkt von der Position des Klammermädchens 222 aus in die Richtung, in die das Klammermännchen 222 blickt. Zum Beispiel befindet sich das kleine Männchen 222 östlich der First Street auf der Utah Street und blickt zur Nordseite der Utah Street. Somit zeigt die Straßenansichtsregion 212 den Blickpunkt einer Person oder Kamera, ein die sich auf der Utah Street befindet und zur Nordseite der Utah Street gewandt oder gerichtet ist.
-
Die Schnittstelle 200 ist interaktiv und akzeptiert Eingaben von einem Benutzer zum Navigieren auf der angezeigten Karte. Insbesondere kann ein Benutzer mit dem interaktiven Bedienelement 220 auf mindestens zweierlei Weise zusammenwirken: durch Drehen des Bedienelements 220 oder Ziehen des Bedienelements 220 zu einer neuen Position. 3A zeigt das Drehen eines interaktiven Bedienelements gemäß einer Ausführungsform. Das interaktive Bedienelement 302 stellt ein Bedienelement dar, bevor es gedreht 306 wird, und das interaktive Bedienelement 304 stellt das Bedienelement dar, nachdem es gedreht 306 wurde. Ein Benutzer kann das Bedienelement 302 zum Beispiel drehen, indem er den Kegel des interaktiven Bedienelements 302 mit einer Maus oder Berührungsbildschirm-Eingabe aktiviert und den Kegel in eine neue Ausrichtung zieht.
-
3B zeigt das Ziehen eines interaktiven Bedienelements in eine neue Position gemäß einer Ausführungsform. Das interaktive Bedienelement 310 stellt ein Bedienelement dar, bevor es gezogen 314 wird, und das interaktive Bedienelement 312 stellt das Bedienelement dar, nachdem es gezogen 314 wurde. Ein Benutzer kann das Bedienelement 310 zum Beispiel ziehen, indem er die Mitte oder den Rand des interaktiven Bedienelements 310 mit einer Maus oder Berührungsbildschirm-Eingabe aktiviert und das Bedienelement 310 über die Karte in eine neue Position zieht.
-
Unter erneuter Bezugnahme auf 2 wird die Straßenansichtsregion 212, während das interaktive Bedienelement 220 in seine neue Ausrichtung gedreht und/oder seine neue Position gezogen wird, gleichzeitig aktualisiert und vollzieht die Ausrichtung und Position des interaktiven Bedienelement 220 nach. Wenn das interaktive Bedienelement 220 zum Beispiel von seiner aktuellen Ausrichtung auf die Nordseite der Utah Street zur Südseite der Utah Street gedreht wird, würde die Straßenansichtsregion 212 ebenfalls von der Nordseite der Utah Street zur Südseite der Utah Street schwenken, um die Bewegung einer Person zu simulieren, die ihren Kopf von einer Seite der Straße zu anderen Seite der Straße wendet. Wenn das interaktive Bedienelement 220 beispielsweise von seiner aktuellen Position am westlichen Ende der Utah Street zum östlichen Ende der Utah Street gezogen wird, würde die Straßenansichtsregion 212 dem Bedienelement 220 ebenfalls folgen, um die Bewegung einer Person zu simulieren die die Straße hinunterläuft oder fährt. Indem einem Benutzer gestattet wird, die Anzeige der Straßenansichtsregion durch Drehen und Ziehen eines Bedienelements in der Kartenansichtsregion zu steuern, wird dem Benutzer ein intuitives Navigationserlebnis vermittelt. Wenn das Bedienelement 220 mit der Straßenansichtsregion 212 synchronisiert wird, werden durch die Änderungen in der Straßenansichtsregion 212 auch Position und Ausrichtung des Bedienelements 220 aktualisiert.
-
In einer Ausführungsform kann das interaktive Bedienelement 220 auch nach oben und unten gekippt werden, was eine entsprechende Änderung in der Straßenansichtsregion 212 veranlasst Das Kippen des Bedienelement 220 fügt eine zusätzliche vertikale Ausrichtungsdimension zur Benutzerschnittstelle 200 hinzu. Zum Beispiel wird das Bild in der Straßenansichtsregion 212 durch Kippen des interaktiven Bedienelements 220 nach oben zum Himmel gekippt und simuliert so die Bewegung einer Person, die nach oben blickt. Durch Kippen des Bedienelements 220 nach unten wird das Bild in der Straßenansichtsregion 212 nach unten zum Boden gekippt und simuliert so die Bewegung einer Person, die nach unten blickt. In einer Ausführungsform verändert sich auch das Aussehen des interaktiven Bedienelement 220, um anzuzeigen, dass es gekippt ist. Zum Beispiel kann das interaktive Bedienelement gekippt aussehen und einen Schatten haben, wenn das Bedienelement gekippt ist.
-
Das Sichtfeld der Perspektive in der Straßenansichtsregion 212 wird auch durch die Winkelgröße des Sichtkegel 224 des interaktiven Bedienelements 220 dargestellt. Ein Sichtfeld kann auch als Blickwinkel bekannt sein und bezieht sich auf den Teil der Szene, die in der Straßenansichtsregion 212 zu sehen ist. Wenn zum Beispiel das Sichtfeld die Straßenansichtsregion 212 ein Sichtfeld von 60 Grad hat, dann ist die Größe des Kegels 224 ebenfalls annähernd 60 Grad. Das interaktive Bedienelement 220 kann auch teilweise durchsichtig sein, sodass die vom Sichtfeld abgedeckte Region der Karte für einen Benutzer leicht zu sehen ist. In einer Ausführungsform hat die Straßenansichtsregion 212 ein eingeschränktes Sichtfeld, zum Beispiel ein Sichtfeld von 45–60 Grad. In anderen Ausführungsformen kann die Straßenansichtsregion 212 ein kleineres oder größeres Sichtfeld haben. Die Darstellung des Sichtfelds im Aussehen des interaktiven Bedienelements 220 gibt dem Benutzer einen Sinn davon, wie sich das Bild in der Straßenansichtsregion 212 zu den in der Kartenansichtsregion 200 dargestellten Merkmalen verhält, ohne davon verwirrt zu werden.
-
In einer Ausführungsform werden Merkmale, die sich bekanntermaßen im Sichtfeld der Straßenansichtsregion 212 befinden, auf die Kartenansichtsregion 210 projiziert. Das Projizieren von Merkmalen auf die Kartenansichtsregion 210 kann das Markieren von Merkmalen umfassen, zum Beispiel in einer optisch unterscheidbaren Art und Weise wie durch Markierungen oder Färbungen. In einer Ausführungsform werden die Merkmale in der Straßenansichtsregion 212 durch zuvor gespeicherte Verbindungen zwischen den Straßenansichten und bestimmten Merkmalen erkannt. Wenn zum Beispiel von einer bestimmten Straßenansicht bekannt ist, dass sie einen Teil des Empire State Building zeigt, dann wird das Empire State Building in einer unterscheidbaren Farbe, Form oder anderen grafischen Eigenschaft in der Kartenansichtsregion 210 markiert.
-
4 zeigt nun eine Benutzerschnittstelle 200 für das Integrieren einer Karte mit einer Straßenansicht gemäß einer Ausführungsform. Insbesondere zeigt 4, wie ein Benutzer eine Karte durch Verstellen der Position einer Markierung in der Karte bearbeiten kann. Die Schnittstelle 200 in 4 ähnelt der Schnittstelle in 3, doch umfasst die Schnittstelle jetzt optische Markierungen 410 sowohl in der Kartenansichtsregion 210 und in der Straßenansichtsregion 212. Beide optischen Markierungen 410 sind miteinander verknüpft und stellen den Standort des Geschäfts „Friseursalon” dar. Ein Benutzer kann die Markierung 410 auf der Kartenansichtsregion 210 verschieben, um die Markierung 410 in eine neue Position zu bringen, zum Beispiel, um den Standort der Markierung 410 zu korrigieren, wenn diese sich an der falschen Stelle befindet. Die Benutzereingabe kann zum Beispiel mit einer Maus oder einem Berührungsbildschirm erfolgen, womit die Markierung 410 in der Kartenansichtsregion 210 aktiviert wird und an einen neuen Ort gezogen werden kann. Wenn die Markierung 410 in der Kartenansichtsregion 210 verschoben wird, wird die Perspektive in der Straßenansichtsregion 212 aktualisiert, um die Position der Markierung 410 nachzuvollziehen.
-
Die Straßenansichtsregion 212 kann die Position der Markierung 410 verfolgen, indem sie zeigt, wie die Markierung 410 von einem Ort auf der Straße aus aussehen würde, der sich der Markierung am nächsten befindet. Die Kartenansichtsregion 212 zeigt auch, wie die Markierung 410 vom Blickpunkt einer der Markierung 410 zugewandten Person oder Kamera aussehen würde. Wenn zum Beispiel die Markierung 410 in der Kartenansichtsregion 210 von ihrer Position auf der Castro Street zu einem Ort in der Utah Street verschoben werden würde, würde die Straßenansicht Region 212 ebenso aktualisiert werden, wie die Markierung 410 zu ihrem neuen Ort gezogen wird. Schließlich würde die Straßenansichtsregion 212 den neuen Ort für die Markierung 410 in der Utah Street aus der Sicht des nächstgelegenen Punkts in der Utah Street, von dem ein Bild erhältlich ist, anzeigen. Durch Verfolgen des Ortes der Markierung 410 in der Straßenansichtsregion 212 kann der Benutzer schnell und genau bestimmen, ob die Markierung 410 an der richtigen Stelle positioniert ist, indem er die Anzeige in der Straßenansichtsregion 212 überprüft.
-
In anderen Ausführungsformen kann die Markierung 410 ein anderes Aussehen als in 4 haben. Außerdem kann die Kartenansichtsregion 210 ein interaktives Bedienelement 220 umfassen, das bereits unter Bezugnahme auf 2 beschrieben wurde. Wie angemerkt, wird das interaktive Bedienelement 220 mit der Straßenansichtsregion 212 synchronisiert. Wenn die Straßenansichtsregion 212 der Position der Markierung 412 folgt, wird das interaktive Bedienelement 220 ebenfalls aktualisiert, um die in der Straßenansichtsregion 212 dargestellte Perspektive richtig wiederzugeben.
-
PROZESSABLAUF
-
5 zeigt ein Verfahren zum Integrieren einer Draufsichtdarstellung (z. B. Kartenansicht) mit einer Straßenansichtsperspektive gemäß einer Ausführungsform In einer Ausführungsform werden die Schritte in 5 von den verschiedenen Modulen des Kartenservers 105 ausgeführt. In Schritt 505 wird eine Benutzerschnittstelle angezeigt, die mindestens zwei Regionen umfasst. Eine Draufsichtdarstellung eines Gebiets wird in einer Region der Benutzerschnittstelle angezeigt. Zum Beispiel kann die Draufsichtdarstellung eine Straßenkarte oder ein Grundriss für ein Gebäude sein. Ein interaktives Bedienelement wird in der gleichen Region der Benutzerschnittstelle wie die Draufsichtdarstellung ebenfalls zur Anzeige ausgegeben. Das interaktive Bedienelement hat sowohl eine Position als auch eine Ausrichtung in Bezug auf die Draufsichtdarstellung. Eine Straßenansichtsperspektive des Gebiets wird in einer anderen Region der Benutzerschnittstelle zur Anzeige ausgegeben. Die Straßenansichtsperspektive stellt den Blickpunkt von der vom interaktiven Bedienelement bezeichneten Position in die vom interaktiven Bedienelement angegebene Richtung dar. Das Sichtfeld der Straßenansichtsperspektive kann auch im Aussehen des interaktiven Bedienelement wieder gespiegelt sein, zum Beispiel durch einen teilweise durchsichtigen Sichtkegel.
-
In Schritt 510 werden Informationen über eine Benutzereingabe empfangen, mit der das interaktive Bedienelement verstellt wird. Zum Beispiel kann die Benutzereingabe das interaktive Bedienelement durch Drehen, Ziehen oder Kippen des Bedienelements verstellen. In Schritt 515 wird die Straßenansichtsperspektive so aktualisiert, dass die Änderungen am interaktiven Bedienelement nachvollzogen werden. Wenn die Benutzereingabe das interaktive Bedienelement dreht oder kippt, wird die Straßenansichtsperspektive so aktualisiert, dass die Ausrichtung des interaktiven Bedienelements nachvollzogen wird, während das Bedienelement gedreht wird. Wenn die Benutzereingabe das interaktive Bedienelement in eine neue Position zieht, wird die Straßenansichtsperspektive so aktualisiert, dass die Position des interaktiven Bedienelements nachvollzogen wird, während das Bedienelement verschoben wird.
-
6 zeigt ein Verfahren zum Integrieren einer Draufsichtdarstellung (z. B. Kartenansicht) mit einer Straßenansichtsperspektive gemäß einer Ausführungsform In Schritt 605 wird eine Benutzerschnittstelle angezeigt, die mindestens zwei Regionen umfasst. Eine Draufsichtdarstellung und eine oder mehrere Markierungen werden in einer Region der Benutzerschnittstelle zur Anzeige ausgegeben. Eine Markierung stellt ein Merkmal in der Draufsichtdarstellung dar, zum Beispiel ein Restaurant oder Geschäft. Eine Straßenansichtsperspektive des Gebiets wird in einer anderen Region der Benutzerschnittstelle zur Anzeige ausgegeben. Die Straßenansichtsperspektive hat einen Blickpunkt, der auf eine von der optischen Markierung bezeichnete Position gerichtet ist. In Schritt 610 werden Informationen über eine Benutzereingabe empfangen, die die Markierung über die Draufsichtdarstellung an eine neue Position zieht. Während die Markierung zu ihrer neuen Position gezogen wird, wird die Straßenansichtsperspektive aktualisiert und folgt dem Ort der Markierung.
-
ZUSÄTZLICHE KONFIGURATIONSÜBERLEGUNGEN
-
In dieser gesamten Schrift können mehrere Instanzen Komponenten, Operationen oder Strukturen implementieren, die als einzelne Instanz beschrieben 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 nichts erfordert, dass die Operationen in der veranschaulichten Reihenfolge durchgeführt werden. Strukturen und Funktionen, die in beispielhaften Konfigurationen als getrennte Komponenten dargestellt werden, können als kombinierte Struktur oder Komponente implementiert werden. In ähnlicher Weise können Strukturen und Funktionen, die als einzelne Komponenten dargestellt werden, als getrennte Komponenten implementiert werden. Diese und andere Variationen, Modifikationen, Ergänzungen und Verbesserungen fallen in den Anwendungsbereich des hierin beschriebenen Gegenstands.
-
Bestimmte Ausführungsformen sind hierin als Logik enthaltend oder als eine Reihe von Komponenten, Modulen oder Mechanismen beschrieben. Module können entweder Softwaremodule (z. B. Code, der auf einem maschinenlesbaren Medium oder in einem Sendesignal verkörpert ist) oder Hardwaremodule darstellen. Ein Hardwaremodul ist ein greifbares Gerät, das bestimmte Operationen durchführen kann, und es kann in einer bestimmten Weise konfiguriert oder angeordnet sein. In exemplarischen Ausführungsformen können eines oder mehrere Computersysteme (z. B. ein eigenständiges, 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 sein, um bestimmte, hierin beschriebene Operationen durchzuführen.
-
In verschiedenen Ausführungsformen kann ein Hardwaremodul mechanisch oder elektronisch implementiert werden. Ein Hardwaremodul kann beispielsweise eine spezielle Schaltung oder Logik umfassen, die dauerhaft zur Ausführung bestimmter Operationen konfiguriert ist (z. B. als ein spezieller Prozessor, wie beispielsweise ein Field Programmable Gate Array (FPGA) oder eine anwendungsspezifische integrierte Schaltung (ASIC)). Ein Hardwaremodul kann außerdem programmierbare Logik oder Schaltkreise umfassen (z. B. wie in einem Allzweck-Prozessor oder einem anderen programmierbaren Prozessor eingeschlossen), der von der Software temporär für die Durchführung bestimmter Operationen konfiguriert ist. Es wird darauf hingewiesen, dass die Entscheidung für die mechanische Implementierung eines Hardwaremoduls in spezielle und dauerhaft konfigurierte oder temporär konfigurierte Schaltungen (z. B. per Software konfiguriert) von Kosten- und Zeitüberlegungen abhängig sein kann.
-
Demgemäß sollte der Begriff „Hardwaremodul” so verstanden werden, dass dieser eine materielle Entität umfasst, sei es eine Entität, die physisch konstruiert, permanent konfiguriert (z. B. festverdrahtet) oder temporär konfiguriert (z. B. programmiert) ist, um auf bestimmte Weise zu arbeiten oder bestimmte, hierin beschriebene Operationen durchzuführen. Wie hierin verwendet, bezieht sich „hardwareimplementiertes Modul” auf ein Hardwaremodul. Bei Berücksichtigung von Ausführungsformen, in denen Hardwaremodule temporär konfiguriert (z. B. programmiert) sind, müssen die jeweiligen Hardwaremodule nicht zu jeder einzelnen zeitlichen Instanz konfiguriert oder instanziiert sein. Wenn die Hardwaremodule zum Beispiel einen Allzweck-Prozessor umfassen, der für die Verwendung von Software konfiguriert ist, kann der Allzweck-Prozessor als entsprechend unterschiedliche Hardwaremodule zu verschiedenen Zeiten konfiguriert sein. Software kann demgemäß einen Prozessor zum Beispiel so konfigurieren, dass er zu einer zeitlichen Instanz ein bestimmtes Hardwaremodul und zu einer anderen zeitlichen Instanz ein anderes Hardwaremodul darstellt.
-
Hardwaremodule können Informationen für andere Hardwaremodule bereitstellen und Informationen von diesen empfangen. Demgemäß können die beschriebenen Hardwaremodule als kommunikativ gekoppelt betrachtet werden. In den Fällen, in denen solche Hardwaremodule gleichzeitig vorhanden sind, können Datenübertragungen über Signalübertragung (beispielsweise über geeignete Schaltungen und Busse) erreicht werden, die die Hardwaremodulen verbinden. In Ausführungsformen, in denen mehrere Hardwaremodule zu unterschiedlichen Zeiten konfiguriert oder instanziiert werden, können Kommunikationen zwischen solchen Hardwaremodulen beispielsweise durch Speichern und Abrufen von Informationen in Speicherstrukturen erreicht werden, auf die mehrere Hardwaremodule Zugriff haben. Ein Hardwaremodul kann beispielsweise einen Vorgang ausführen und die Ausgabe von diesem Vorgang in einem Speichergerät speichern, mit dem es kommunikativ verbunden ist. Ein weiteres Hardwaremodul kann dann zu einem späteren Zeitpunkt auf das Speichergerät zugreifen, um die gespeicherte Ausgabe abzurufen und zu verarbeiten. Hardwaremodule können auch Kommunikationen mit Eingabe- oder Ausgabevorrichtungen initiieren und können auf einer Ressource arbeiten (z. B. eine Sammlung von Informationen).
-
Die verschiedenen Operationen hierin beschriebener exemplarischer Verfahren können, zumindest teilweise, von einem oder mehreren Prozessoren durchgeführt werden, die temporär (z. B. durch Software) oder permanent für die Durchführung der relevanten Operationen konfiguriert sind. Ganz gleich, ob sie temporär oder permanent konfiguriert sind, stellen solche Prozessoren von Prozessoren implementierte Module dar, die betrieben werden, um eine oder mehrere Operationen oder Funktionen durchzuführen. Module, auf die hierin verwiesen wird, umfassen in einigen exemplarischen Ausführungsformen von Prozessoren implementierte Module.
-
In ähnlicher Weise können hierin beschriebene Verfahren oder Routinen zumindest teilweise durch Prozessoren implementiert werden. Zum Beispiel können zumindest einige der Operationen eines Verfahrens von einem oder mehreren Prozessoren oder von durch Prozessoren implementierten Hardwaremodulen durchgeführt werden. Die Durchführung bestimmter Operationen kann unter den ein oder mehreren Prozessoren verteilt sein, die sich nicht in einer einzigen Maschine befinden, sondern über eine Reihe von Maschinen bereitgestellt werden. In einigen exemplarischen Ausführungsformen können sich der Prozessor oder die Prozessoren an einem einzigen Ort (z. B. in einer Wohnungsumgebung, in einer Büroumgebung oder als eine Serverfarm) befinden, während in anderen Ausführungsformen die Prozessoren über eine Reihe von Orten verteilt sein können.
-
Der eine oder die mehreren Prozessoren können auch so arbeiten, dass diese die Leistung der relevanten Vorgänge in einer „Cloud Computing”-Umgebung oder als ein „Software as a Service” (SaaS) unterstützen. Zum Beispiel können einige der Operationen durch eine Gruppe von Computern (z. B. von Maschinen einschließlich Prozessoren) durchgeführt werden, wobei dieses Operationen über ein Netzwerk (z. B. das Internet) und über eine oder mehrere geeignete Schnittstellen (z. B. Anwendungsprogrammschnittstellen, APIs) zugänglich sind.
-
Die Durchführung bestimmter Operationen kann auf den einen oder die mehreren Prozessoren verteilt sein, die sich nicht nur in einer einzigen Maschine befinden, sondern über eine Reihe von Maschinen bereitgestellt werden. In einigen exemplarischen Ausführungsformen können sich ein oder mehrere Prozessor(en) oder durch Prozessoren implementierte Module an einem einzigen geografischen Standort (z. B. einer Wohnumgebung, einer Büroumgebung oder einer Serverfarm) befinden. In anderen exemplarischen Ausführungsformen können der eine oder die mehreren Prozessoren oder durch Prozessoren implementierten Module über eine Reihe geografischer Standorte verteilt sein.
-
Einige Teile dieser Schrift werden in Bezug auf Algorithmen oder symbolische Darstellungen von Operationen bei Daten dargestellt, die als Bits oder binäre digitale Signale in einem Maschinenspeicher (z. B. einem Speicher in einem Computer) gespeichert sind. Diese Algorithmen oder symbolischen Darstellungen sind Beispiele von Techniken, die von Fachleuten der Datenverarbeitungstechnik verwendet werden, um anderen Fachleuten die wesentlichen Inhalte ihrer Arbeit zu vermitteln. Wie hierin verwendet, ist ein „Algorithmus” eine in sich stimmige Folge von Vorgängen oder ähnlicher Verarbeitung, die zu einem gewünschten Ergebnis führt. In diesem Kontext beinhalten Algorithmen und Vorgänge die physikalische Manipulation von physikalischen Mengen. Normalerweise, aber nicht notwendigerweise, können solche Mengen die Form elektrischer, magnetischer oder optischer Signale annehmen, die von einer Maschine gespeichert, aufgerufen, übertragen, kombiniert, verglichen oder sonst manipuliert werden können. Hauptsächlich aus Gründen der allgemeinen Verwendung ist es manchmal praktisch, solche Signale mithilfe von Wörtern wie „Daten”, „Inhalt”, „Bits”, „Werte”, „Elemente”, „Symbole”, „Zeichen”, „Begriffe”, „Zahlen”, „Ziffern” oder dergleichen zu bezeichnen. Diese Wörter sind jedoch lediglich praktische Bezeichnungen und dürfen nicht mit entsprechenden physischen Mengen verbunden werden.
-
Sofern nicht speziell anders angegeben, können sich Erörterungen hierin, die Wörter wie „Verarbeitung”, „Berechnung”, „Bestimmung”, „Darstellung”, „Anzeige” oder ähnliches verwenden, auf Aktionen oder Prozesse einer Maschine (z. B. eines Computers) beziehen, die Daten manipulieren oder transformieren, 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), Register oder andere Maschinenkomponenten dargestellt sind, die Informationen empfangen, speichern, übertragen oder anzeigen.
-
Wie hierin verwendet, bedeuten Verweise auf „eine Ausführungsform” oder „Ausführungsformen”, dass ein bestimmtes Element, Merkmal, eine Struktur oder eine Eigenschaft, das/die in Verbindung mit der Ausführungsform beschrieben wird, zumindest in einer Ausführungsform enthalten ist. Das Erscheinen der Formulierung „in einer Ausführungsform” an verschiedenen Orten in der Spezifikation bezieht sich nicht notwendigerweise immer auf dieselbe Ausführungsform.
-
Einige Ausführungsformen können mithilfe des Ausdrucks „gekoppelt” und „verbunden” zusammen mit deren Ableitungen beschrieben werden. Zum Beispiel können einige Ausführungsformen mithilfe des Begriffs „gekoppelt” beschrieben werden, um anzugeben, dass eines oder mehrere Elemente im direkten physischen oder elektrischen Kontakt sind. Der Begriff „gekoppelt” kann jedoch auch bedeuten, dass eines oder mehrere Elemente nicht im direkten Kontakt miteinander sind, aber trotzdem noch miteinander zusammenarbeiten oder interagieren. Die Ausführungsformen sind in diesem Kontext nicht beschränkt.
-
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 nur auf diese Elemente beschränkt, sondern kann andere Elemente beinhalten, die nicht ausdrücklich aufgelistet oder bei 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 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).
-
Außerdem wird „eine”, „einer” oder „eines” verwendet, um Elemente und Komponenten der Ausführungsformen hierin zu beschreiben. Das erfolgt lediglich aus praktischen Gründen und um eine allgemeine Vorstellung der Offenbarung zu vermitteln. Die Beschreibung sollte so gelesen werden, dass sie eines oder mindestens eines enthält, und der Singular umfasst auch den Plural, außer es ist offensichtlich anders gedacht.
-
Nach dem Lesen dieser Offenbarung wird der Fachmann erkennen, dass noch weitere alternative strukturelle und funktionelle Konstruktionen zur Integration von Draufsichtdarstellungen mit einer Straßenansichtsperspektive durch die hier offenbarten Prinzipien möglich sind. Somit sollte, während bestimmte Ausführungsformen und Anwendungen veranschaulicht und beschrieben wurden, es selbstverständlich sein, dass die offenbarten Ausführungsformen nicht auf die genaue Konstruktion und Komponenten beschränkt sind, die hierin offenbart wurden. Verschiedene Modifikationen, Änderungen und Variationen, die für Fachleute auf dem Gebiet ersichtlich werden, können in der Anordnung, dem Betrieb und in den Einzelheiten der Verfahren und der Vorrichtung, die hierin offenbart werden, ohne Abweichung von der Idee und dem Umfang der angehängten Ansprüche erfolgen.