-
Gebiet der Offenbarung
-
Die vorliegende Erfindung betrifft interaktive digitale Karten oder genauer gesagt das Ermitteln von Parametern eines Ansichtsfensters, innerhalb dem eine digitale Karte angezeigt wird. 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.
-
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.
-
Heutzutage unterstützen eine Vielzahl von Rechenvorrichtungen, zu denen unter anderen viele tragbare Vorrichtungen gehören, Softwareanwendungen, die interaktive digitale Karten anzeigen. Ein Benutzer, der eine dieser Rechenvorrichtungen verwendet, kann eine Softwareanwendung, wie etwa einen Web-Browser, betreiben, um einen Anbieter digitaler Karten zu besuchen, um sich eine interaktive digitale Karte anzusehen. Ferner fügen viele Anbieter von Inhalten, wie etwa Einzelhändler, die herkömmliche Fachgeschäfte betreiben, digitale Karten zu ihren Inhalten hinzu. Zu diesem Zweck können die Anweisungen auf einer Website eine Anwendungsprogrammierschnittstelle (API) des Anbieters digitaler Karten aufrufen. Noch weiter kann ein Benutzer manchmal seinen oder ihren geographischen Standort mit einem anderen Benutzer teilen und eine digitale Karte in beispielsweise eine E-Mail-Nachricht einbetten wollen. In diesen und ähnlichen Situationen ist eine digitale Karte üblicherweise um einen bestimmten Standort herum zentriert und verfügt über eine gewisse Zoomstufe, d. h. einen bestimmten Vergrößerungsgrad.
-
Zusammenfassung
-
Ein Anbieter digitaler Karten veranlasst mehrere Client-Geräte dazu, digitale Karten einschließlich eines bestimmten geographischen Standorts auf unterschiedlichen Zoomstufen anzuzeigen, und zwar in Abhängigkeit der entsprechenden Beziehungen zwischen den geographischen Standorten der Client-Geräte und des angegebenen geographischen Standorts und/oder den jeweiligen Beziehungen zwischen den Benutzern der Client-Geräte und den angegebenen geographischen Standorten. Wenn ein Benutzer eines Client-Geräts seinen/ihren gegenwärtigen geographischen Standort in Paris mit einem Freund in Paris und einem anderen Freund den Vereinigten Staaten teilt, kann der Anbieter digitaler Karten somit zum Beispiel an den Freund in Paris automatisch eine relativ stark vergrößerte digitale Karte bereitstellen, die einen Pariser Viertel anzeigt, und an den Freund in den Vereinigten Staaten eine verhältnismäßig stark verkleinerte digitale Karte bereitstellen, die Paris auf der Karte von Frankreich anzeigt. Als weiteres Beispiel kann die Website eines Möbelgeschäfts eine digitale Karte einbetten, um den Standort des Geschäfts zu veranschaulichen. Unterschiedliche Benutzer, die auf die Webseite zugreifen, sehen die Karte je nach ihrer abgeschätzten Entfernung vom Geschäft, in jeweils unterschiedlichen Zoomstufen.
-
In einer bestimmten Ausführungsform dieser Verfahren speichert ein nicht transitorisches computerlesbares Medium Anweisungen, mittels denen eine Anwendungsprogrammierschnittstelle (API) für das Erstellen digitaler Karten implementiert wird. Wenn die API von einem auf einem oder mehreren Prozessoren eines Geräts ausgeführten Softwaremoduls aufgerufen wird, wird sie betrieben, um (i) einen geographischen Standort zu bestimmen, der in eine digitale Karte integriert werden soll, in die der geographische Standort von einem Servergerät spezifiziert wird, das an das Client-Gerät über ein Kommunikationsnetzwerk gekoppelt ist, (ii) einen Parameter für ein Ansichtsfenster der digitalen Karte auszuwählen, der zumindest auf eine Entfernung vom gegenwärtigen Standort des Client-Geräts zum spezifischen geographischen Standort beruht, (iii) die digitale Karte gemäß den ausgewählten Parametern zu generieren und die digitale Karte über eine Benutzeroberfläche des Client-Geräts anzuzeigen.
-
Eine andere Ausführungsform dieser Technik ist ein Verfahren zum Generieren digitaler Karten, das auf einem oder mehreren Prozessoren ausgeführt werden kann. Dieses Verfahren beinhaltet das Empfangen einer Aufforderung einen Hinweis hinsichtlich eines bestimmten geographischen Standorts an ein erstes Gerät bereitzustellen, das von einem ersten Benutzer und einem zweiten Gerät, das von einem zweiten Benutzer betrieben wird, wobei eine erste Entfernung zwischen dem angegebenen geographischen Standort und einem geographischen Standort des ersten Geräts und eine zweite Entfernung zwischen dem geographischen Standort und einem geographischen Standort des zweiten Geräts bestimmt wird, wobei eine erste Zoomstufe für eine digitale Karte, einschließlich des geographischen Standorts, basierend zumindest teilweise auf der ersten Entfernung, bestimmt wird, und worin eine zweite Zoomstufe für eine digitale Karte, einschließlich des geographischen Standorts, basierend zumindest teilweise auf der zweiten Entfernung, bestimmt wird und die eine erste digitale Karte dazu veranlasst, über das erste Gerät auf der ersten Zoomstufe und die eine zweite digitale Karte dazu veranlasst, über das zweite Gerät auf der zweiten Zoomstufe angezeigt zu werden.
-
Wieder eine andere Ausführungsform dieser Techniken ist auch ein Verfahren für das Generieren von digitalen Karten, das auf einem oder mehreren Prozessoren ausgeführt werden kann. Das Verfahren beinhaltet das Empfangen einer Aufforderung mittels eines oder mehrerer Prozessoren, die von einem Standort teilenden Benutzer betriebenen Quellgerätes gestellt wird, und gemäß der ein Hinweis eines bestimmten geographischen Standorts mit einem ersten Zielbenutzer, der ein erstes Zielgerät betreibt und mit einem zweiten Zielbenutzer, der ein zweites Zielgerät betreibt, geteilt werden soll und das Bestimmen einer ersten Beziehung zwischen dem ersten Zielbenutzer und dem angegebenen geographischen Standort und einer zweiten Beziehung zwischen dem zweiten Benutzer und dem angegebenen geographischen Standort mittels eines oder mehrerer Prozessoren. Das Verfahren beinhaltet ferner das Bestimmen mittels eines oder mehrerer Prozessoren eines ersten Ansichtsfensterparameters für eine erste digitale Karte einschließlich des angegebenen geographischen Standorts, der zumindest teilweise auf der ersten bestimmten Beziehung beruht und das Bestimmen mittels eines oder mehrerer Prozessoren eines zweiten Ansichtsfensterparameters für eine zweite digitale Karte einschließlich des angegebenen geographischen Standorts, der zumindest teilweise auf der zweiten bestimmten Beziehung beruht. Noch weiter beinhaltet das Verfahren das von einem oder mehreren Prozessoren bewirkte Veranlassen des Anzeigens einer ersten digitalen Karte über das erste Gerät gemäß dem ersten Ansichtsfensterparameter und einer zweiten digitalen Karte über das zweite Gerät gemäß dem zweiten Ansichtsfensterparameter.
-
Kurzbeschreibung der Zeichnungen
-
1 veranschaulicht schematisch ein exemplarisches Szenario, in dem Kartenansichtsfenster auf dynamische Art und Weise im Hinblick auf Benutzersignale gesteuert werden;
-
2 ist ein Blockdiagramm eines exemplarischen Systems, in das Verfahren zum Steuern von Kartenansichtspunkten implementiert werden können;
-
3 ist ein Blockdiagramm eines exemplarischen Client-Geräts, das im System von 2 betrieben werden kann;
-
4 ist ein Flussdiagramm eines exemplarischen Verfahrens zum Personalisieren einer digitalen Karte auf einem Benutzergerät hinsichtlich der Entfernung zwischen dem Benutzergerät und einem geographischen Standort auf der digitalen Karte, das im System von 2 implementiert werden kann;
-
5 ist ein Flussdiagramm eines exemplarischen Verfahrens für das Generieren von digitalen Karten auf zwei Benutzergeräten auf jeweils unterschiedlichen Zoomstufen unter Verwendung der API dieser Offenbarung; und
-
6 ist ein Flussdiagramm eines exemplarischen Verfahrens für das Teilen eines Hinweises zu einem geographischen Standort mit mehreren Benutzergeräten, das im System von 2 implementiert werden kann.
-
Detaillierte Beschreibung
-
Überblick
-
Ein dritter Anbieter von Inhalten, bei dem es sich um einen Händler oder einen sozialen Netzwerkdienst handeln kann, kann zum Beispiel eine Ressource bereitstellen, die eine digitale Karte eines geographischen Gebiets über eine Kartenanwendungsprogrammierschnittstelle (API) eines Online-Kartenanbieters einbetten kann. Bei der Ressource kann es sich um eine Website, eine E-Mail-Nachricht, oder jede andere geeignete Art von elektronischem Dokument handeln. Wenn zwei unterschiedliche Benutzer auf die Ressource zugreifen, bestimmt die Karten-API und/oder eine andere geeignete Softwarekomponente die Parameter des Kartenansichtsfensters im Hinblick auf benutzer- und/oder gerätespezifische Signale. Falls die Webseite des San Diego Zoo beispielsweise einen Anruf zur Karten-API beinhaltet, um den Standort des Zoos auf einer digitalen Karte zu veranschaulichen, kann die Karten-API die Karte einem Benutzer, der die Webseite aus der Gegend von San Diego besucht, auf einer verhältnismäßig hohen Zoomstufe anzeigen, und kann die Karte einem Benutzer, der die Webseite von San Francisco aus besucht, auf einer verhältnismäßig niedrigen Zoomstufe anzeigen, da der örtliche Besucher wahrscheinlich eher an einer örtlichen Perspektive interessiert ist. Auf diese Weise kann die Karten-API die Wahrscheinlichkeit, dass die Karte benutzerrelevante Inhalte beinhaltet, erhöhen.
-
Die Karten-API kann auch eine standardmäßige Zoomstufe wiedergeben. Ein Anbieter der Ressource, der die Karten-API beispielsweise aufruft, kann die standardmäßige Zoomstufe auswählen und kann in einigen Implementierungen die Bedingungen für das Aufheben der standardmäßigen Zoomstufe festlegen.
-
In einigen Fällen beinhaltet die Ressource eines dritten Anbieters von Inhalten zwar einen Verweis auf einen geographischen Standort, aber beinhaltet keinen Anruf auf die Karten-API. Bei dem Verweis kann es sich beispielsweise um eine Adresse einschließlich der Zahl eines Gebäudes, des Namens der Straße und des Namens der Stadt handeln. Die Adresse kann sich im Hauptkörper der E-Mail, in einer SMS oder auf einer Webseite befinden. Wenn ein Benutzer auf die Ressource von einem Gerät aus zugreift, auf dem die Karten-API installiert ist, kann die Karten-API automatisch einen Verweis auf einen geographischen Standort identifizieren. Aus diesem Grund kann im Inhalt eines Drittanbieters von Inhalten auf die Karten-API verwiesen werden und/oder die Karten-API kann von einem Benutzergerät, das die Inhalte verarbeitet, automatisch aufgerufen werden.
-
In einem anderen Beispiel kann eine Benutzerin in Sydney ihren Standort mit mehreren Freunden über einen sozialen Netzwerkdienst teilen wollen, der die Karten-API aufruft oder die Karten-API auslöst, indem er auf geographische Standorte verweist. Wenn ein Freund in Sydney ihren Standort über den sozialen Netzwerkdienst prüft, kann der Kartenanbieter eine Karte des jeweiligen Viertels aus Sydney generieren, die den gegenwärtigen Standort der Benutzerin beinhaltet und eine Markierung an diesem spezifischen Standort anzeigt. Wenn ein Freund in Paris jedoch eine ähnliche Prüfung durchführt, kann der Kartenanbieter eine Karte von Australien generieren, und die Markierung in Sydney anzeigen, da diesem Freund Informationen über den genauen Standort der Benutzerin in Sydney wahrscheinlich unnötig erscheinen.
-
Zusätzlich zum Standort des Benutzers und seinem Bezug zum Standort auf der Karte ist die Karten-API in der Lage, andere benutzerspezifische Signale, wie etwa das abgeschätzte Maß an Vertrautheit mit dem jeweiligen Gebiet oder persönliche Präferenzen, zu verarbeiten, zum Beispiel wenn diese Informationen zur Verfügung stehen (in manchen Ausführungsformen bedient der Benutzer gewisse Steuerungen/oder installiert gewisse Anwendungen, um es dem Kartenanbieter zu ermöglichen, die Karte auf diese Art und Weise zu personalisieren). Unter Verwendung der Benutzer-Login-Informationen und/oder der IP-Adresse ist die Karten-API zum Beispiel in der Lage, den Standort des Geräts, an dem die digitale Karte wiedergegeben wird, abzurufen.
-
Zur einfacheren Erläuterung und Veranschaulichung wird die dynamische Bestimmung des Ansichtsfensterparameters der Karte weiter unten in erster Linie mit Bezug auf eine Karten-API eines Online-Kartenanbieters erörtert. Noch allgemeiner kann diese oder eine ähnliche Nationalität allerdings als jede geeignete Softwarekomponente bereitgestellt werden, wie etwa im Rahmen einer für spezielle Zwecke vorgesehenen Kartenanwendung. Aus diesem Grund kann eine Kartensoftwareanwendung, die auf zwei unterschiedlichen Benutzergeräten ausgeführt wird, automatisch auf zwei unterschiedlichen Benutzergeräten digitale Karten anzeigen, um denselben geographischen Standort auf unterschiedlichen Zoomstufen als Antwort auf das Bestimmen entsprechender Entfernungen zwischen den Benutzergeräten und dem geographischen Standort, zu bestimmen.
-
In einigen Fällen bestimmt die Karten-API, die auf einem Benutzergerät Funktionen ausführt, die Entfernung zwischen dem Benutzergerät und einen geographischen Standort durch Abfragen eines Kartenservers des Kartenanbieters. Die Karten-API kann auch den Kartenserver abfragen, um das Niveau unter eines anderen Ansichtsfensterparameters der Karte zu bestimmen, wenn der Kartenserver über einen besseren Zugang zu einigen der maßgeblichen Informationen, wie etwa dem Profil des Benutzers, verfügt. Verweise auf die Karten-API, die Ansichtsfensterparameter auswählt oder bestimmt, sollen so verstanden werden, dass sie, sofern nicht anders angegeben, die Implementierungen beinhalten, wenn die Karten-API die Parameter auf örtlicher Ebene bestimmt, wenn die Karten-API Parameter durch Abfragen eines Kartenservers bestimmt, oder wenn die Karten-API Parameter durch Kooperieren mit dem Kartenserver bestimmt.
-
Gemäß den in dieser Offenbarung verwendeten Techniken wählt eine Softwarekomponente Parameter für ein Ansichtsfenster demnach aus, indem eine digitale Karte im Hinblick auf benutzer- und gerätespezifische Signale wiedergegeben wird. Diese Signale können die Entfernung zwischen dem geographischen Standort, an dem digitale Karte zentriert ist (oder um den die digitale Karte auf sonstige Art und Weise herum organisiert ist) oder den geographischen Standort des Geräts, der die digitale Karte wiedergibt, beinhalten. Die Softwarekomponente kann mindestabschnittsweise in einer Karten-API oder einer speziell dafür vorgesehenen Software Anwendung implementiert werden.
-
Exemplarische Szenarios
-
1 veranschaulicht schematisch einen exemplarischen Fall, in dem Geräte A und B, die sich an den Standorten 12A und 12B befinden, jeweils auf eine Ressource zugreifen, die eine digitale Karte eines Standorts 10 in Paris, Frankreich, unter Verwendung einer API eines Online-Kartenanbieters, einbettet. Benutzerin Alice betreibt Gerät A, bei dem es sich um einen Desktop-Computer handeln kann und Benutzer Bob betreibt Gerät B, bei dem es sich zum Beispiel um ein Smartphone handeln kann. Die Ressource ist in diesem Szenario ist eine Webseite, die von einem Restaurant betrieben wird und Inhalte in einer Markup-Sprache, wie etwa HTML, beinhaltet. Der Inhalt kann Texte und Multimedia-Dateien beinhalten, die neben dem Menü, Kundenbewertungen usw., auch Anweisungen anzeigen, um den Standort des Restaurants auf einer digitalen Karte zu veranschaulichen.
-
Der Betreiber des Restaurants kann vernünftigerweise erwarten, dass die Besucher der Restaurant-Webseite sowohl Besucher beinhalten, die in derselben Stadt leben, und daher möglicherweise an einer präzisen Wegbeschreibung interessiert sind, als auch Besucher beinhalten, die weiter weg wohnen, möglicherweise in anderen Ländern, und somit an der allgemeinen Umgebung, in der sich das Restaurant befindet, interessiert sind. Um es unterschiedlichen Website-Besuchern zu ermöglichen den Standort des Restaurants auf der digitalen Karte mit Bezug auf die Standorte der Besucher und/oder der benutzer-/oder benutzergerätespezifischen Signale anzusehen, integriert der Betreiber einen Verweis auf eine API eines Onlineanbieters digitaler Mappen („Karten-API”) in den Inhalt der Webseite, die gemäß den Techniken dieser Offenbarung implementiert wird.
-
Eine Browser-Anwendung auf jedem der Geräte A und B greift im Betrieb auf die Webseite zu und setzt die jeweilige Instanz der Anweisungen, die die Karten-API implementieren, um. Die Karten-API kann die Ansichtsfensterparameter der Karte auf den Geräten A und B im Hinblick auf die Standorte 12 und 14 in Beziehung zum Standort 10 bestimmen. Da Standort 12A sich innerhalb eines bestimmten Radius R, wie etwa 20 km, des Standorts 10 befindet, zeigt Gerät A zum Beispiel eine digitale Karte 22 einschließlich Standort 10 auf einer verhältnismäßig hohen Zoomstufe an. Da Standort 12A sich außerhalb des Radius R, befindet, zeigt Gerät B jedoch eine digitale Karte 24 einschließlich Standort 10 auf einer verhältnismäßig niedrigen Zoomstufe an. Insbesondere ist die digitale Karte 22 eine Karte, die nur einige Gebäude enthält und geographische Merkmale veranschaulicht, wie etwa die Namen der sich in der Nähe befindlichen Straßen, die nächstgelegene Bahnstation, das nächstgelegene Hotel usw. Standort 10 ist dementsprechend mit einem hohen Grad an Präzision veranschaulicht, sodass der Benutzer des Gerätes A das Gebäude und selbst die Seite der Straße des Standorts 10 durch Ansehen der digitalen Karte 22 bestimmen kann. Im Gegensatz dazu, bildet die digitale Karte 24 fast ganz Frankreich ab und veranschaulicht nur einige hauptsächliche geographische Merkmale, wie Ländergrenzen, große Städte, wichtigste Autobahnen usw. Der Standort 10 wird mit einem niedrigen Präzisionsgrad veranschaulicht. Der Benutzer des Gerätes B kann nur ermitteln, dass Standort 10 sich in Paris befindet, und ist nicht in der Lage, einen präziseren Standort zu bestimmen, indem er sich die digitale Karte 24 ansieht.
-
Sofern erwünscht kann der Betreiber der Restaurant-Webseite einen Standardwert für die Zoomstufe der digitalen Karte spezifizieren. Falls ein Besucher der Restaurant-Webseite seinen Standort nicht angibt oder wenn die Entfernung zwischen dem gegenwärtigen Standort des Besuchers und dem Restaurant aus irgend einem anderen Grund nicht bestimmt werden kann, kann die Karten-API eine digitale Karte auf einer standardmäßigen Zoomstufe generieren.
-
Als weiteres Beispiel kann Benutzer Alice ihren gegenwärtigen Standort über ihr Smartphone mit Benutzer Bob teilen, der gerade dabei ist, seinen Tablett-Computer zu betreiben. Je nach Bobs gegenwärtigem und/oder permanentem Standort im Verhältnis zu Alices Standort kann die Karten-API dieser Offenbarung eine digitale Karte, die Alices Standort veranschaulicht, dazu veranlassen, auf einer niedrigen oder einer hohen Zoomstufe auf Bobs Computer zu erscheinen. Genauer gesagt, falls sich Bob im selben allgemeinen Viertel (z. B. innerhalb eines 2 km Radius) wie Alice aufhält, kann die Karten-API eine digitale Karte bereitstellen, die nur vier Gebäude abdeckt, auf der der Alices Standort so präzise wie möglich veranschaulicht wird. Falls Bob sich in derselben Stadt wie Alice, aber nicht im selben allgemeinen Viertel aufhält, kann die Karten-API eine digitale Karte bereitstellen, die die gesamte Stadt abdeckt, wobei Alices Standort etwas weniger präzise veranschaulicht wird. Und falls Bob sich nicht einmal in derselben Stadt wie Alice aufhält, kann die Karten-API eine digitale Karte zur Verfügung stellen, die eine relativ große geographische Fläche, wie etwa eine Region, einen Staat, eine Provinz oder selbst ein Land, abdeckt und Alices Standort mit einer Markierung angeben, die oberhalb oder neben der Bezeichnung der Stadt positioniert ist.
-
In diesen Fällen kontrolliert Alice die Zoomstufe, auf der ihr geteilter Standort auf Bobs Computer abgebildet wird entweder nicht oder sie stellt nur eine vorgeschlagene Zoomstufe bereit, die dann von der Karten-API übergangen wird. Obwohl Bob die Zoomstufe der Karte im Anschluss daran auf Wunsch einstellen kann, stellt die Karten-API eine digitale Karte auf eine Zoomstufe bereit, die den Bedürfnissen Bobs mit hoher Wahrscheinlichkeit entspricht. Darüber hinaus kann die automatisierte Auswahl der Zoomstufe an sich, Bob die Entfernung zum gegenwärtigen Standort von Alice sofort mitteilen.
-
Ferner kann die Karten-API dieser Offenbarung neben der Steuerung der Zoomstufe auch sonstige Ansichtsfensterparameter steuern, wie etwa das automatische Zentrieren des Ansichtsfensters auf unterschiedliche Art und Weise, je nach Entfernung zwischen Alices und Bobs Standort (oder den entsprechenden Standorten der Geräte A und B im Verhältnis zum Standort 10 des obigen Beispiels), das automatische Auswählen von Kartenstilmerkmalen je nach Entfernung, das automatische Auswählen von Kartenebenen, die im Ansichtsfenster angezeigt werden sollen usw.
-
Als noch ein weiteres Beispiel kann Alice ihren Standort auch mit Benutzer Charlie teilen, dessen gegenwärtiger Standort sich weit entfernt von Alices gegenwärtigem Standort befinden kann. Da Charlies Heimstandort sich jedoch in der Nähe von Alices gegenwärtigem Standort befindet, kann die Karten-API eine digitale Karte bereitstellen, die Charlie nur einige wenige Gebäude der Stadt anzeigt, ähnlich zur Situation, in der Charlies gegenwärtiger Standort sich in der Nähe von Alices gegenwärtigem Standort befand. In diesem Fall kann der Kartenanbieter, auf den über die Karten-API zugegriffen wird, abschätzen, dass Charlie mit dem Viertel, in dem sich Alice befindet, mit hoher Wahrscheinlichkeit vertraut ist, und die Karten-API dementsprechend dazu veranlassen, eine präzisere Angabe auf einer vergrößerten digitalen Karte bereitzustellen. Bei unterschiedlichen Implementierungen kann der Kartenanbieter und/oder die Karten-API jegliche Anzahl von benutzer- und gerätespezifischen Signalen, wie etwa den gegenwärtigen Standort, einen oft besuchten oder auf sonstige Weise wahrscheinlichen Standort, ein abgeschätztes Maß an Vertrautheit mit dem Bereich, vorhergehende geographische Anfragen in Bezug auf den Bereich, sonstige Interessenbekundungen hinsichtlich des Bereichs usw. verwenden. Der Kartenanbieter und/oder die Karten-API kann diese Signale gemäß jeglichen geeigneten Schemata gewichten.
-
Exemplarisches System und Geräte
-
2 ist ein Blockdiagramm eines exemplarischen Systems 100, innerhalb dessen diese und andere Techniken für die dynamische Steuerung von Ansichtsfensterparametern der Karte in Bezug auf benutzerspezifische Signale implementiert werden können. Das System 100 beinhaltet exemplarische Benutzergeräte 102 und 104, bei denen es sich beispielsweise im Einzelnen um ein Smartphone, einen Tablett-Computer, einen persönlichen digitalen Assistenten (PDA), einen Laptop-Computer usw. handeln kann. Die Benutzergeräte 102 und 104 können über ein Kommunikationsnetzwerk 109 auf einen Drittanbieter von Inhalten 106 zugreifen, der jede geeignete Anzahl von Typologie an drahtgebundenen und/oder drahtlosen Links beinhalten kann, die ein lokales Netzwerk oder ein Wide-Area-Network, wie etwa das Internet, ausbilden. Der Server 106, der von einem Drittanbieter von Inhalten betrieben wird, kann an eine Inhaltsdatenbank 108 gekoppelt sein, die Texte, Bilder, Audiodateien usw. speichert, die Teil des Inhalts darstellen, der den Client-Geräten, zu denen unter anderem auf und Geräte 102 und 104 gehören, bereitgestellt wird. Bei dem Drittanbieter kann es sich um einen Rundfunksender, ein Unternehmen, ein Social Media Netzwerk usw. handeln.
-
Der exemplarische Inhalt 120 beinhaltet HTML-Anweisungen und einen Anruf einer Karten-API 122 eines Online-Kartenanbieters. Der Online-Kartenanbieter kann ein oder mehrere Kartenserver 124 betreiben, die Client-Geräten Kartendaten und in einigen Ausführungsformen geographische Unternehmensdaten oder sonstige georäumliche Daten bereitstellen. Je nach Implementierung beinhaltet der Inhalt 120 sämtliche Anleitungen, die die Karten-API 122 umsetzen, einige der Anweisungen, die Karten-API 122 umsetzen (wobei der verbliebene Teil der Anweisungen, auf einem entfernten Gerät, wie etwa dem Kartenserver 124, gespeichert werden) oder nur einen Verweis auf einen entfernten Standort, beispielsweise in Form einer URL, an dem die Anweisungen zum Implementieren der Karten-API 122 gespeichert sind (erneut wie etwa der Kartenserver 124). Als ein spezifischeres Beispiel der zuletzt durchgeführten Implementierung, kann der Inhalt 120 einen Webserver spezifizieren, auf dem sich die Anweisungen, der Name einer Datei, auf der die Anweisungen gespeichert sind, das Format der Datei (z. B. JavaScript) und die Parameter, die an die Anweisungen geliefert werden, befinden. Die Parameter können zum Beispiel einen Identifikator eines geographischen Standorts (z. B. „123 Main St., Springfield”) und eine standardmäßige Zoomstufe beinhalten. Die jeweiligen Instanzen der Web-Browser-Anwendungen 126 und 128 führen den Inhalt 120 auf den Benutzergeräten 102 und 104 aus und rufen den Inhalt ab. Die Web-Browser-Anwendungen 126 und 128 müssen keine Instanzen derselben Software sein und können vom selben Anbieter oder unterschiedlichen Anbietern der Software kommen. Wenn die Web-Browser-Anwendungen 126 und 128 die Karten-API 122, wie im Inhalt 120 spezifiziert aufrufen, fordern die Geräte 102 und 104 Kartendaten vom Kartenserver 124 an.
-
Die Karten-API 122 kann als eine oder mehrere Funktionsweisen, eine Datenstruktur, ein Mitteilungsschema usw. implementiert werden. Ferner beinhaltet die Karten-API 122 in einigen Ausführungsformen einen zusammengesetzten Code und, der direkt auf dem Prozessor (den Prozessoren) des Benutzergeräts ausgeführt wird. In anderen Ausführungsformen befinden sich die Anweisungen der Karten-API 122 in einer Skriptsprache, die zur Laufzeit vom Web-Browser des Benutzergeräts interpretiert wird.
-
Je nach Implementierung kann es sich bei dem Kartenserver 124 um eine einzelne Rechenvorrichtung handeln, die über einen Speicher und einen oder mehrere Prozessoren verfügt, die die Anweisungen, auf dem Speicher, einem Pool an derartigen Geräten (von denen jedes in der Lage ist, eine Datenanfrage zu bearbeiten), ein hierarchischer Satz an Frontend- und Backend-Servern usw. ausführen. Zur einfacheren Erläuterung veranschaulicht 2 jedoch den Kartenserver 124 als ein einzelnes Gerät auf schematische und Weise.
-
Der Kartenserver 124 kann seinen Betrieb auf Kartendaten durchführen, die in einer Kartendatenbank 132 gespeichert sind, um interaktive digitale Karten zu generieren. Der Kartenserver 124 kann in einigen Fällen auch Benutzerdaten verwenden, die in einer Benutzerprofildatenbank 134 gespeichert sind. Insbesondere kann der Kartenserver 124 einen automatischen Ansichtsfensterselektor 140 als einen Satz an Softwareanweisungen, die auf einem nicht-transitorischen computerlesbaren Speicher gespeichert sind und von einem oder mehreren Prozessoren ausgeführt werden, implementieren. Der automatische Ansichtsfensterselektor 140 kann eine Anfrage vom Benutzergerät empfangen, die nach der Umsetzung der Karten-API 122 generiert wird, Ansichtsfensterparameter der Karte auf Basis von benutzergerätspezifischen und/oder Benutzer der benutzergerätspezifischen Signalen bestimmen, und eine interaktive digitale Karte unter Verwendung der Kartendatenbank 132 und in einigen Fällen der Benutzerprofildatenbank 134 generieren. Der exemplarische Betrieb des automatischen Ansichtsfensterselektors 140 wird nachfolgend detaillierter abgehandelt.
-
Die Daten in der Kartendatenbank 132 können mehrere Arten von geographischen Daten entsprechen, einschließlich typografischen Daten, Straßendaten, Informationen zum städtischen Nahverkehr, Verkehrsdaten usw. Die geographischen Daten können wiederum schematisch sein oder auf fotografischem Material, wie etwa Satellitenbildern beruhen. Die Daten in der Kartendatenbank 132 können jedem geeigneten Format entsprechen, einschließlich beispielsweise einem Rasterformat, und einem Vektor-Grafik-Format. Im Allgemeinen spezifiziert ein Bild im Rasterformat, welche Farben für die jeweiligen Pixel, aus denen das Bild besteht, angewendet werden, während ein Bild im Vektor-Grafik-Format mathematische Beschreibungen der Punkte und verschiedene Formen beinhaltet (z. B. eine Linie kann unter Verwendung eines Vektor-Grafik-Formats als zwei Endpunkte und einen Hinweis zur Dicke und Farbe spezifiziert sein). In einigen Implementierungen können die Daten in der Kartendatenbank 132 in Komponentenaufnahmen normaler Größe oder „Kacheln”, die einer bestimmten Zoomstufe entsprechen, organisiert sein.
-
Die Daten in der Benutzerprofildatenbank 134 können die Präferenzen des Benutzers, die Informationen, die Benutzer auswählen, um sie als Teil ihres Personalprofils zu speichern (z. B. Wohnstandort, Arbeitsstandort, Lieblingsstandorte), beinhalten. In einigen Implementierungen können die Daten in der Datenbank 134 Overlays enthalten, die von Benutzern auf ihrer interaktiven digitalen Karte erzeugt worden sind (z. B. Formen, Polylines, Symbole usw.), um Sehenswürdigkeiten (oder Bereiche von Interesse, wie etwa Stadtteile), Präferenzen des Benutzers für das Anzeigen bestimmter Kartenschichten (z. B. Verkehrsschicht, Nahverkehrsschicht, Wetterschicht usw.), Styling-Präferenzen des Benutzers (z. B. das Ändern der visuellen Anzeige von Kartenelementen, wie zum Beispiel Straßen, Parks, städtische Bereiche usw.) usw., anzugeben. Der Kartenserver kann auf dementsprechende Datensätze innerhalb der Datenbank 134 des Benutzerprofils unter Verwendung von Authentifizierungsinformationen, wie etwa Login-Daten und Passwörter, zugreifen.
-
Jedes der Benutzergeräte 102 und 104 kann auf ähnliche Weise wie ein in 3 veranschaulichtes Benutzergerät 150 implementiert werden. Bei dem Benutzergerät kann es sich um einen Desktop-Computer, einen Laptop-Computer, einen Tablett-Computer, ein Smartphone oder ein anderes tragbares Gerät oder jedes andere Gerät handeln, über das ein Benutzer in der Lage ist, eine digitale Karte zu sehen. Das Benutzergerät 150 beinhaltet einen oder mehrere Prozessoren 152, wie etwa zentrale Betriebseinheiten (CPUs), einen computerlesbaren Speicher 154, eine Benutzeroberfläche 156, eine Netzwerkschnittstelle 158, und ein Positionierungsmodul 160. In allgemeinerer Hinsicht kann die Rechenvorrichtung 150 jede geeignete Anzahl von Prozessoren und sofern erwünscht auch eine oder mehrere grafische Verarbeitungseinheiten (GPUs), sowie auch andere Verarbeitungseinheiten beinhalten. Bei dem Speicher 154 kann es sich um ein rechnerlesbares, physisch greifbares, nicht transitorisches Speichergerät handeln und er kann sowohl persistente (z. B. eine Festplatte, ein Flash-Laufwerk) als auch nicht-persistente (z. B. RAM) Speicherkomponenten beinhalten. Der Speicher 154 speichert auf dem Prozessor (den Prozessoren) 152 ausführbare Anweisungen, die Teil einer Web-Browser Anwendung 170 sind, die einer mit Bezug auf 2 erörterten Web-Browser-Anwendung 126 oder 128 ähnlich sein können. Der Speicher 154 kann auch Kartendaten 180, Personalisierungsdaten 182 und Inhalte Dritter 184 speichern, die das mit Bezug auf 2 erörterte Karten-API 122 aufrufen.
-
Die Benutzeroberfläche 156 kann neben einem separaten Eingabegerät, wie etwa eine Tastatur, auch einen Touchscreen oder ein Anzeigegerät beinhalten. In allgemeinerer Hinsicht kann die Benutzeroberfläche 156 jede geeignete Anzahl und Art von Komponenten zum Empfangen von Benutzereingaben und dem Generieren von Ausgaben für einen Benutzer beinhalten. Die Netzwerkschnittstelle 158 kann ein drahtgebundenes und/oder ein drahtloses Kommunikationsmodul für das Kommunizieren über Kurzstrecken- und/oder Langstreckenkommunikationsanbindungen umfassen. Das Positionierungsmodul 160 kann einen oder mehrere Global Positioning Systems(GPS)-Receiver, und einen drahtlosen LAN-Receiver beinhalten, der in der Lage ist, den gegenwärtigen Standort des Gerätes 150 mittels eines Triangulationsverfahrens, eines Währungssensors usw. zu erfassen.
-
Während des Betriebs ruft die Web-Browser-Anwendung 170 die Inhalte Dritter 184 von einem Drittanbieter von Inhalten, wie etwa dem in 1 abgebildeten Anbieter 106, ab. Die Web-Browser Anwendung 170 verarbeitet den Inhalt 184 durch das Parsen der Anweisungen, das Anzeigen von Text und Grafiken usw. und führt einen Anruf an die Karten-API 122 aus. Insbesondere ruft die Webbrowser-Anwendung 170 die Karten-API 122 ab, um eine digitale Karte eines geographischen Standorts, die als Teil des Inhalts 184 spezifiziert ist, anzufordern. Unter erneuter Bezugnahme auf 1 kann der Inhalt 184 den Standort 10 als eine Straßenadresse, einen Satz an GPS-Koordinaten oder auf jede andere Weise spezifizieren.
-
Gemäß einer exemplarischen Ausführungsform generiert die Karten-API 122 wenn sie aufgerufen wird, eine Botschaft an einen Kartenserver (z. B. der Kartenserver 124 der 2), um die Kartendaten 180 abzurufen. Die Kartendaten 180 können Vektor-Grafik-Daten, die am Benutzergerät 150 interpretiert und gerastert sind, bereits gerasterte Kartenbilder, oder beide Konzepte beinhalten. Zusätzlich zur Spezifizierung des geographischen Standorts, der in die digitale Karte integriert werden muss, gibt die Botschaft gemäß einem exemplarischen Fall, den Standort des Geräts 150 an. Der Hinweis kann relativ präzise (z. B. GPS-Koordinaten) oder nur approximativ (z. B. die nächstgelegene Meile) sein. Ferner kann der Hinweis auf den geographischen Standort indirekt ausgedrückt sein, wie dies etwa bei der Internetprotokolladresse (IP-Adresse) der Fall ist. Gemäß einem weiteren Szenario kann das Benutzergerät 150 seinen gegenwärtigen Standort weder direkt noch indirekt bestimmen, oder der Benutzer konfiguriert das Benutzergerät 150, damit sein gegenwärtiger Standort nicht aufgezeigt wird. Stattdessen entscheidet sich der Benutzer dazu, seine bzw. ihre Authentifizierungsinformationen dem Kartenserver bereitzustellen. Durch das Verwenden dieser Authentifizierungsinformationen kann der Kartenserver den möglichen Standort des Benutzergerätes 150 abschätzen. Ein möglicher Standort des Benutzergerätes 150 kann zum Beispiel dem Wohnort oder dem Arbeitsplatz des Benutzers entsprechen.
-
Bei der Verwendung der Authentifizierungsinformationen ist es nicht erforderlich, dass die API 122 den Benutzer jedes Mal dazu auffordert, seine Login- und/oder Passwort-Informationen einzugeben. In einigen Implementierungen kann die API 122 durch das Prüfen der im Speicher 154 gespeicherten Login-Daten bestimmen, ob der Benutzer im Web-Browser 170 eingeloggt ist. Falls die Login-Daten angeben, dass der Benutzer eingeloggt ist, kann die API 122 auf spezifische Weise damit fortfahren, eine digitale Karte für den eingeloggten Benutzer anzufordern.
-
Auf jeden Fall stellt der Kartenserver die Kartendaten 180 für das Generieren einer digitalen Karte auf einer Zoomstufe bereit, die im Hinblick auf den berichteten oder abgeschätzten Standort des Benutzergeräts 150 und den geographischen Standort, für den die digitale Karte angefordert wurde, ausgewählt wurde. Je nach Implementierung kann der Kartenserver zum Beispiel die Zoomstufe, auf der die Kartendaten 180 unter Verwendung eines separaten Parameters angezeigt werden sollen, explizit festlegen, bzw. die Zoomstufe auf implizite Weise angeben, indem nur diejenigen Kartenkacheln, die mit der jeweiligen Zoomstufe in Verbindung stehen, bereitgestellt werden.
-
Mit fortgesetzter Bezugnahme auf 3 kann der Speicher 154 in anderen Ausführungsformen Anweisungen speichern, die eine andere Softwareanwendung umsetzen, die in der Lage ist, die API 122 aufzurufen, und eine interaktive digitale Karte über die Benutzeroberfläche 156 anzuzeigen. Das Benutzergerät 150 kann zum Beispiel eine dedizierte Kartenanwendung, eine Navigationsanwendung, oder eine Einkaufsführeranwendung ausführen, die jeweils konfiguriert sind, um die API 122 zusätzlich zum, bzw. statt des Webbrowsers 170 aufzurufen.
-
Wie oben angegeben, werden in einigen Szenarien, in denen die API 122 eine digitale Karte innerhalb eines ermittelten Ansichtsfensters bereitstellt, das die Techniken dieser Offenbarung verwendet, keine Drittanbieter von Inhalten 106 oder sonstige andere Drittanbieter von Inhalten miteinbezogen. Eher die
-
Exemplarische Verfahren für das Steuern von Kartenansichtsfenstern im Hinblick auf Benutzer-/Gerätesignale.
-
Unter Bezugnahme auf 4 kann ein exemplarisches Verfahren 200 für das Personalisieren einer digitalen Karte nunmehr auf einem Benutzergerät mit Bezug auf die Entfernung zwischen dem Benutzergerät und einem geographischen Standort auf der digitalen Karte beispielsweise in der Karten-API 122 und/oder dem automatischen Ansichtsfenster-Selektor 140 und zumindest teilweise auf dem Benutzergerät 150 ausgeführt werden. Insbesondere kann das Verfahren 200 als ein Satz an Anweisungen implementiert werden, die auf einem nicht transitorischen computerlesbaren Medium gespeichert und auf immer mehr Prozessoren ausgeführt werden.
-
Das Verfahren 200 beginnt bei Block 202, auf dem ein Hinweis zum geographischen Standort, der in eine digitale Karte integriert werden soll, empfangen wird. Der Hinweis kann in eine Webseite miteinbezogen werden, die beispielsweise von einem Anbieter von Inhalten empfangen wird.
-
Danach wird am Block 204 die Entfernung zwischen dem Benutzergerät und dem angegebenen geographischen Standort ermittelt. In einigen Implementierungen wird die Entfernung nur approximativ ermittelt. Die Entfernung kann beispielsweise auf das nächstgelegene Zehn-Meilenintervall bestimmt werden. Wie bereits vorstehend erörtert, kann der gegenwärtige Standort des Benutzergeräts unter Verwendung eines funksignalbasierten Positionierungsverfahrens, wie etwa GPS oder des WiFi-Triangulationsverfahrens, eines approximativen Positionierungsverfahrens, wie etwa der IP-Adressenzuordnung, bzw. durch das Abschätzen des Standorts des Benutzers auf Basis von historischen Daten, Profildaten, der Tageszeit usw. ermittelt werden.
-
Ein Ansichtsfensterparameter wird zumindest auf Basis der bestimmten Entfernung (Block 206) ermittelt. Die ermittelte Entfernung kann mit einem Schwellenwert, wie etwa dem in 1 veranschaulichten Radius R, verglichen werden. In allgemeiner Hinsicht können ein oder mehrere Radien als Schwellenwerte verwendet werden, um zu ermitteln, wann bestimmte Zoomstufen angewendet werden sollten. Ferner können Schwellenwerte entlang Geometrien außer kreisförmigen Geometrien definiert werden. Ein bestimmter Schwellenwert kann beispielsweise „10 Meilen entlang einer Hauptautobahn” entsprechen. Des Weiteren können Schwellenwerte in einigen Ausführungsformen zudem eher in Bezug auf die Zeit als auf die Entfernung, wie etwa „zwei Autostunden”, definiert werden.
-
Das Ansichtsfensterparameter kann beispielsweise die Zoomstufe sein. In einigen Ausführungsformen beinhaltet das Auswählen des Ansichtsfensters das Abfragen eines Kartenservers. Am Block 208 wird die digitale Karte gemäß des ermittelten Ansichtsfensterparameters der Karte generiert. Die digitale Karte kann beispielsweise innerhalb eines Kartenbrowserfensters, einer Nachrichtenanwendung, oder des Textkörpers einer E-Mail angezeigt werden.
-
5 ist ein Flussdiagramm eines exemplarischen Verfahrens 250 für das Generieren von digitalen Karten an zwei Benutzergeräten auf jeweils unterschiedlichen Zoomstufen unter Verwendung der Karten-API dieser Offenbarung. Dieses Verfahren 250 kann beispielsweise als Satz von Anweisungen im automatischen Ansichtsfenster-Selektor 140 implementiert werden. Gemäß dem Verfahren 250 werden Zoomstufen für unterschiedliche Benutzergeräte ermittelt. Ein ähnliches Verfahren kann jedoch verwendet werden, um andere Ansichtsfensterparameter der Karte zu bestimmen.
-
Bei Block 252 wird von einem zweiten Benutzer eine Aufforderung empfangen, einem ersten Benutzergerät einen Hinweis zu einem geographischen Standort bereitzustellen. Unter erneuter Bezugnahme auf 1 kann der erste Benutzer beispielsweise Gerät A und der zweite Benutzer Gerät B betreiben und der geographische Standort kann Standort 10 entsprechen. Danach können entweder einer, mehrere oder sämtliche der Blöcke 254 ausgeführt werden, um die Zoomstufen für die digitalen Karten zu bestimmen, die auf dem ersten Gerät und dem zweiten Gerät angezeigt werden sollen. Insbesondere werden bei Block 254A die Entfernung zwischen dem ersten Gerät und dem angegebenen geographischen Standort und der Entfernung zwischen dem zweiten Gerät und dem angegebenen geographischen Standort ermittelt. Bei Block 254B werden entsprechende Messgrößen hinsichtlich der Vertrautheit mit dem angegebenen geographischen Standort für die Benutzer des ersten Geräts und des zweiten Geräts ermittelt. Bei diesen Messgrößen kann es sich beispielsweise um numerische Messgrößen, wie etwa Prozentanteile handeln. Bei anderen Blöcken 254 können diese Faktoren auch als vorhergehende Anfragen von Benutzern für Navigationsanweisungen, geographische Suchanfragen, Präferenzen und Lieblingsstandorte usw. analysiert werden. Diese Faktoren können als numerische Messgrößen zum Ausdruck gebracht und auf jede geeignete Art und Weise gewichtet werden.
-
Bei Block 258 wird eine erste Zoomstufe, auf der eine digitale Karte des angegebenen geographischen Standorts auf dem ersten Gerät angezeigt werden sollte, auf Basis der Ermittlungen bei den Blöcken 254A, 254B usw. ermittelt. Auf ähnliche Weise wird bei Block 260 eine zweite Zoomstufe, auf der eine digitale Karte des angegebenen geographischen Standorts auf dem Gerät angezeigt werden sollte, auf Basis dieser Ermittlungen ermittelt. In einigen Szenarios werden unterschiedliche Zoomstufen bei den Blöcken 258 und 260 ausgewählt, obwohl eine digitale Karte desselben geographischen Standorts angefordert wurde.
-
Bei Block 262 wird eine digitale Karte des angegebenen geographischen Standorts auf der ersten Zoomstufe über eine Benutzeroberfläche des ersten Geräts bereitgestellt und bei Block 264 wird eine digitale Karte des angegebenen geographischen Standorts auf der zweiten Zoomstufe über eine Benutzeroberfläche des zweiten Geräts bereitgestellt. Wenn der automatische Ansichtsfenster-Selektor 140 der 2 das Verfahren 250 umsetzt, kann der Kartenserver 124 Kartendaten an die entsprechenden Benutzergeräte über ein Kommunikationsnetzwerk bereitstellen.
-
6 ist ein Flussdiagramm eines exemplarischen Verfahrens 300 für das Teilen eines Hinweises zu einem geographischen Standort mit mehreren Benutzergeräten, das auch als einen Satz von Anweisungen umgesetzt werden kann, der auf einem oder mehreren Prozessoren im automatischen Ansichtsfenster-Selektor 140 ausführbar ist.
-
Das Verfahren 300 beginnt bei Block 302, wo von einem Quellgerät eine Aufforderung zum Teilen eines Hinweises hinsichtlich eines geographischen Standorts mit mindestens zwei Zielgeräten empfangen wird. Die entsprechende Beziehung zwischen jedem der Zielgeräte und dem angegebenen geographischen Standort werden bei Block 304 ermittelt. Zum Beispiel können Schritte, die den oben erörterten Blöcken 254 ähneln, durchgeführt werden. Entsprechende Ansichtsfensterparameter werden dann auf Basis der ermittelten Beziehungen bei Block 306 ermittelt, und digitale Karten werden, ähnlich wie bei den oben erörterten Blöcken 262 und 264, an die entsprechenden Zielgeräte gemäß den ermittelten Ansichtsfensterparametern bei Block 308 bereitgestellt.
-
Zusätzliche Überlegungen
-
Die folgenden zusätzlichen Überlegungen gelten für die vorstehende Erörterung. In dieser gesamten Spezifikation können mehrere Instanzen Komponenten, Operationen oder Strukturen implementieren, die als einzelne Instanz 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 nichts erfordert, dass die Operationen in der veranschaulichten Reihenfolge durchgeführt werden. Strukturen und Funktionen, die in exemplarischen 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 Varianten, Änderungen, Hinzufügungen und Verbesserungen fallen in den Umfang des Gegenstands der vorliegenden Offenbarung.
-
Außerdem sind bestimmte Ausführungsformen hierin als Logik oder eine Reihe von Komponenten, Modulen oder Mechanismen umfassend beschrieben. Bei den Modulen kann es sich entweder um Softwaremodule (z. B. Code, der auf einem maschinenlesbaren Medium oder in einem Sendesignal verkörpert ist, worin der Code mittels eines Prozessors ausgeführt wird) oder Hardwaremodule handeln. Ein Hardware-Modul ist eine konkrete Einheit, die in der Lage ist, bestimmte Funktionen auszuführen, und sie kann auf eine bestimmte Art und Weise konfiguriert oder organisiert werden. 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.
-
Die Verfahren 200, 250 und 300 können einen oder mehrere Funktionsblöcke, Module, individuelle Funktionen oder Routinen in Form konkreter computerausführbare Anweisungen beinhalten, die auf einem nicht-transitorischen computerlesbaren Speichermedium gespeichert sind und unter Verwendung eines Prozessors auf einer Rechenvorrichtung ausgeführt werden (z. B. einem Server, einem Personal-Computer, einem Smartphone, einer in sich geschlossenen tragbaren Vorrichtung, einer befestigten tragbaren Vorrichtung, einer Fahrzeug-Headunit, einem Tablett-Computer, einem Head-Mounted-Display, einer Smartwatch, einer mobilen Rechenvorrichtung oder einem Personal-Computergerät, wie hierin beschrieben). Die Verfahren 200, 250 und 300 können beispielsweise als Bestandteil jedes Backend-Servers (z. B. ein Location-Relay-Server oder jede Art von Rechenvorrichtung des Servers, die hierin beschrieben wird), jedes Moduls einer befestigten tragbaren Vorrichtung, jedes Moduls einer in sich geschlossenen tragbaren Vorrichtung oder jedes Moduls einer Fahrzeug-Headunit der exemplarischen Umgebung, oder zum Beispiel als Teil eines Moduls, das sich außerhalb einer derartigen Umgebung befindet, aufgenommen werden. Obwohl die Figuren zur einfacheren Erläuterung mit Bezug auf andere Figuren beschrieben werden, können die Verfahren 200, 250 und 300 mit anderen Objekten oder Benutzeroberflächen verwendet werden. Obwohl die obige Erklärung Schritte der Verfahren 200, 250 und 300 beschreibt, während sie von spezifischen Geräten durchgeführt werden, kommt hinzu, dass dies nur zu Illustrationszwecken durchgeführt wird. Die Blöcke der Verfahren 200, 300 und 400 können von einem oder mehreren Geräten oder sonstigen Teile in der Umgebung durchgeführt werden.
-
Die hier beschriebenen Verfahren und Routinen können zumindest abschnittsweise vom Prozessor umgesetzt werden. So können beispielsweise zumindest einige der Operationen eines Verfahrens von einem oder mehreren Prozessoren oder prozessorimplementierten 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.
-
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 die ein oder mehreren Prozessoren oder durch Prozessoren implementierten Module an einem einzigen geografischen Ort (z. B. einer Wohnumgebung, einer Büroumgebung oder einer Serverfarm) befinden. In anderen exemplarischen Ausführungsformen können die ein oder mehreren Prozessoren oder durch Prozessoren implementierten Module über eine Reihe geografischer Orte verteilt sein.
-
Noch weiter bilden die Figuren einige Ausführungsformen der exemplarischen Umgebung lediglich zum Zwecke der Veranschaulichung ab. Ein Fachmann wird aus der folgenden Erörterung leicht erkennen, dass alternative Ausführungsformen der Strukturen und Verfahren, die hierin dargestellt sind, eingesetzt werden können, ohne von den Prinzipien der hier beschriebenen Erfindung abzuweichen.
-
Beim Lesen dieser Offenbarung werden Fachleute noch zusätzliche alternative strukturelle funktionelle Gestaltungen zum Steuern von Kartenansichtsfenstern durch die hier veröffentlichen Prinzipien würdigen. 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 offengelegt werden, ohne Abweichung von der Idee und dem Umfang der angehängten Patentansprüche erfolgen.