-
STAND DER TECHNIK
-
Der Gegenstand der vorliegenden Beschreibung betrifft die Informationspräsentation.
-
Das Internet ermöglicht leichten Zugang zu Online-Kartografierungssystemen für Millionen Menschen. Diese Online-Kartografierungssysteme können detaillierte Karten von geografischen Regionen auf vielfältigen Zoom-Ebenen bereitstellen. Zusätzlich kann die dynamische Beschaffenheit dieser Online-Kartografierungssysteme die gezielte Präsentation von Inhalt, wie etwa Werbung, ermöglichen. Zum Beispiel kann ein Kaffeehändler Werbung in Form wählbarer Symbole bereitstellen, die auf einer Kartenseite wiedergegeben werden, die auf einer Client-Einrichtung, wie etwa einem Computer, angezeigt wird. Mausbewegung über das Symbol kann zusätzliche Werbeinformationen enthüllen, wie etwa den Unternehmensnamen des Kaffeehändlers und Kontaktinformationen, einschließlich der Adresse. Vorzugweise wird das Symbol auf der Karte an einem Ort angezeigt, der mit der Adresse der werbenden Entität zusammenfällt oder in der Nähe dieser liegt.
-
Die Karten umfassen außerdem viele zugrundeliegende Merkmale, wie etwa Kartenbezeichnungen, z. B. Straßennamen, Parknamen, Seen-Namen usw. Wenn gezielt Inhaltsposten angezeigt werden, können sie sich jedoch mit den Kartenmerkmalen überlappen. Der Benutzer muss somit möglicherweise Korrekturmaßnahmen vornehmen, wie etwa Justieren einer Karten-Zoom-Ebene oder Verschieben der Karte, um ein interessierendes Merkmal zu enthüllen. Dadurch kann sich das Benutzererlebnis verschlechtern.
-
KURZFASSUNG
-
Der Gegenstand der vorliegenden Beschreibung betrifft die Platzierung von Inhaltsposten, z. B. Werbung, in eine Anzeigeumgebung (z. B. auf Karten). Der Inhalt kann so platziert werden, dass eine grafische Repräsentation des Inhaltspostens, z. B. ein Symbol oder ein Werbelogo, sich mit einem Merkmal, z. B. einem Straßennamen oder einer grafischen Repräsentation eines Orientierungspunkts, nicht überlappt. Die Platzierung des Inhaltspostens wird auf vielfältigen Zoom-Ebenen ermöglicht, auf denen ein zugrundeliegender Inhaltsposten (z. B. die Karte) präsentiert wird, so dass sich, während sich der Maßstab der Merkmale und/oder des Inhaltspostens ändert, der Inhaltsposten und die Merkmale nicht überlappen.
-
Im Allgemeinen kann ein Aspekt des in der vorliegenden Beschreibung beschriebenen Gegenstands in einem System realisiert werden, das bewirken kann, dass Operationen ausgeführt werden, die die folgenden Schritte umfassen: Identifizieren eines Kartenorts; Identifizieren eines Bezeichnungsorts auf der Basis des Kartenorts und einer Zoom-Ebene, wobei der Bezeichnungsort einer Kartenbezeichnung zugeordnet ist; und Bestimmen eines Platzierungsorts für die Platzierung eines Inhaltspostens relativ zu dem Kartenort dergestalt, dass, wenn die Karte auf der Zoom-Ebene mit dem Inhaltsposten präsentiert wird, sich der Inhaltsposten nicht mit der Kartenbezeichnung überschneidet. Andere Ausführungsformen dieses Aspekts umfassen entsprechende Vorrichtungen und Computerprogrammprodukte.
-
Ein anderer Aspekt des in der vorliegenden Beschreibung beschriebenen Gegenstands kann in einem System realisiert werden, das bewirken kann, dass Operationen ausgeführt werden, die die folgenden Schritte umfassen:
Identifizieren eines Kartenorts auf einer Karte, wobei der Kartenort einem Inhaltsposten zugeordnet ist; Identifizieren einer Zoom-Ebene, auf der die Karte zu präsentieren ist; Anfordern von Platzierungsortsdaten auf der Basis des Kartenorts und der Zoom-Ebene, wobei die Platzierungsortsdaten einen Platzierungsort für den Inhaltsposten relativ zu dem Kartenort definieren, dergestalt, dass, wenn die Karte auf der Zoom-Ebene mit dem Inhaltsposten präsentiert wird, der Inhaltsposten keine Kartenmerkmalposten überschneidet, die auf der Karte auf der Zoom-Ebene präsentiert werden; wenn als Reaktion auf die Anforderung Platzierungsortsdaten empfangen werden, dann Bereitstellen der Platzierungsortsdaten und des Inhaltspostens für eine Client-Einrichtung, so dass die Client-Einrichtung den Inhaltposten an dem Platzierungsort auf der Karte präsentieren kann, wenn die Karte auf der Zoom-Ebene präsentiert wird. Andere Ausführungsformen dieses Aspekts umfassen entsprechende Vorrichtungen und Computerprogrammprodukte.
-
Die Einzelheiten einer oder mehrerer Implementierungen des in der vorliegenden Beschreibung beschriebenen Gegenstands werden in den beigefügten Zeichnungen und in der nachfolgenden Beschreibung dargelegt. Andere Merkmale, Aspekte und Vorteile des Gegenstands werden aus der Beschreibung, den Zeichnungen und den Ansprüchen hervorgehen.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
1 ist ein Blockdiagramm einer beispielhaften Online-Kartenwerbeumgebung.
-
2A und 2B sind Beispiele für eine Karte auf verschiedenen Zoom-Ebenen und worin Werbung präsentiert werden kann.
-
3 ist ein Blockdiagramm eines beispielhaften Platzierungsortsystems.
-
4 ist ein Flussdiagramm eines beispielhaften Prozesses zum Platzieren eines Inhaltspostens auf einer Karte.
-
5 ist ein Flussdiagramm eines beispielhaften Prozesses zum Identifizieren eines Platzierungsorts auf einer Karte.
-
6 ist ein Blockdiagramm eines beispielhaften Computersystems, das verwendet werden kann, um Positionierung von Inhalt auf Online-Karten zu ermöglichen.
-
Gleiche Bezugssymbole in den verschiedenen Zeichnungen bezeichnen gleiche Elemente.
-
AUSFÜHRLICHE BESCHREIBUNG
-
§1.0 Übersicht
-
Der Gegenstand der vorliegenden Beschreibung betrifft die Platzierung von Inhaltsposten, z. B. Werbung, in einer Anzeigeumgebung. In einem spezifischen Beispiel wird Inhalt so platziert, dass eine grafische Repräsentation des Inhaltspostens, z. B. ein Symbol oder Werbe-Logo, ein Kartenmerkmal, z. B. einen Straßennamen oder eine grafische Repräsentation eines Orientierungspunkts, nicht überschneidet. Die Platzierung des Inhaltspostens wird auf vielfältigen Zoom-Ebenen ermöglicht, auf denen die Karte präsentiert wird, so dass, während sich der Maßstab der Kartenmerkmale und/oder des Inhaltspostens ändert, sich der Inhaltsposten und die Kartenmerkmale nicht überschneiden. Obwohl auf die Platzierung von Posten auf Karten Bezug genommen wird, können die beschriebenen Vorrichtungen und Computerprogrammprodukte auch in anderen Anzeigeumgebungen verwendet werden.
-
In einem Beispiel kann ein Unternehmen wünschen, dass sein Unternehmenslogo an einem mit der Unternehmensadresse, z. B. 123 Third Avenue, zusammenfallenden Ort auf einer Karte angezeigt wird. Das Unternehmen kann sich an einen öffentlichen Park und an ein Monument angrenzend befinden, die beide als Kartenmerkmale gezeigt sind, die einen Namen und eine grafische Repräsentation auf der Karte umfassen. Zusätzlich können die Namen der Straßen in der Nähe des Unternehmensorts auf der Karte angezeigt werden. Während ein Benutzer in die Karte hinein oder aus ihr heraus zoomt, kann sich die relative Größe der Kartenmerkmale, z. B. des Texts der Straßennamen oder anderer Merkmalnamen, bezüglich Größe relativ zu dem Maßstab der Karte ändern. Auf einer ersten Zoom-Ebene kann das Unternehmenslogo somit an mehreren Orten in der Nähe der Unternehmensadresse angezeigt werden, ohne irgendwelche Kartenmerkmale zu überschneiden. Umgekehrt kann auf einer zweiten Zoom-Ebene, die sich z. B. aus ”Herauszoomen” auf eine höhere Ebene als die erste Zoom-Ebene ergibt, das Unternehmenslogo möglicherweise nur an einem Ort angezeigt werden, ohne irgendwelche Kartenmerkmale zu überschneiden.
-
Bei einigen Implementierungen wird eine Datenstruktur von Platzierungsort-Datensätzen verwendet, um die Platzierung von Inhaltsposten auf der Karte zu erleichtern. Ein Platzierungsort-Datensatz kann einen Kartenort und zulässige Orte, an denen ein Inhaltsposten angezeigt werden kann, spezifizieren. Jeder Ort kann in einem Platzierungsort-Datensatz gespeichert werden, der den Ort, an dem der Inhaltsposten angezeigt werden kann, und die Zoom-Ebene, die die Zoom-Ebene spezifiziert, an dem der Ort verwendet werden kann, um den Inhaltsposten anzuzeigen, umfasst. Es können jedoch viele andere Datenstrukturen verwendet werden, um die oben beschriebenen Merkmale zu ermöglichen. Wie aus dem folgenden hervorgeht, können sich die zulässigen Orte, an denen ein Inhaltsposten angezeigt werden kann, auf verschiedenen Zoom-Ebenen ändern.
-
§1.1 Karten-Werbung
-
1 ist ein Blockdiagramm einer Implementierung einer beispielhaften Online-Kartenumgebung 100. Die Kartenumgebung 100 kann das Erbringen von Inhaltsposten zur Anzeige auf einer Karte erleichtern. Obwohl die vorliegende Beschreibung Werbung als beispielhafte Inhaltsposten und Werbeserver als beispielhafte Inhaltsserver verwendet, können auch viele andere Inhaltsposten von anderen Servern erbracht und präsentiert werden, wie zum Beispiel Symbol-Links auf Videoclips; Informations-Links oder Informations-Snippets; Bild-Links usw.
-
Bei einigen Implementierungen können sich Werbekunden 102 mit einem Werbe-Server 104 verbinden, um Werbung 103 hochzuladen, Werbestatistiken zu verfolgen, um Werbeplatz zu bieten oder anderweitig mit dem Werbe-Server 104 in Interaktion zu treten. Die Werbekunden 102 können sich durch das Netzwerk 105 mit dem Werbe-Server 104 verbinden. Das Netzwerk 105 kann ein großflächiges Netzwerk, ein lokales Netzwerk, das Internet oder ein beliebiges anders öffentliches oder privates Netzwerk oder eine Kombination von beidem sein.
-
Die Werbung 103, z. B. Inhaltsposten, kann in Form von grafischer Werbung, Nur-Text-Werbung, Bild-Werbung, Audio-Werbung, Video-Werbung, Werbung, die eine oder mehrere beliebiger solcher Komponenten kombiniert, usw. vorliegen. Die Werbung 103 kann auch eingebettete Informationen umfassen, wie zum Beispiel Metainformationen und/oder maschinenausführbare Anweisungen. Die Werbung 103 kann zur Präsentation in Karten 109 formatiert werden. Die Werbung 103 kann in einem Werbespeicher 106 gespeichert werden, der mit dem Werbe-Server 104 verbunden ist.
-
Die Werbung 103 kann auf einer Karte 109 angezeigt werden, die auf einer Benutzereinrichtung 110 präsentiert wird. Die Karte kann direkt von einem Karten-Server 112 angefordert werden, der eine Karten-Benutzeroberfläche auf einer Benutzereinrichtung 100 bereitstellt, wenn sich die Benutzereinrichtung 110 mit dem Karten-Server 112 verbindet und eine Karte anfordert, die aus in einem Kartenspeicher 114 gespeicherten Kartendaten erzeugt wird.
-
Als Alternative kann die Karte 109 von einem Publizierer 108 als Reaktion darauf, dass eine Benutzereinrichtung 110 Inhalt von dem Publizierer 108 anfordert, angefordert werden. Beispielhafte Publizierer 108 können Netzwerk-Inhaltsanbieter sein, die Websites publizieren. Die Publizierer 108 empfangen Anforderungen von Inhalt von den Benutzereinrichtungen 110 und präsentieren als Reaktion auf die Anforderungen Inhalt. Als Reaktion auf die Anforderungen können die Publizierer 108 Karten 109 mit dem Inhalt aufnehmen, um es dadurch den Benutzereinrichtungen 110 zu ermöglichen durch die Website des Publizierers auf Karten 109 zuzugreifen.
-
Zum Beispiel kann der Publizierer 108 eine Unternehmensentität sein und kann eine Karte für ihren Ort auf der Homepage des Publizierers 108 bereitstellen. Als Reaktion auf die Kartenanforderung durch den Publizierer 108 wählt der Karten-Server 112 Daten für die angeforderte Karte aus dem Kartenspeicher 114 für Präsentation aus und stellt die ausgewählten Daten entweder dem Publizierer 108 oder der anfordernden Benutzereinrichtung 110 bereit.
-
Die Benutzereinrichtungen 110 können sich durch das Netzwerk 105 unter Verwendung einer beliebigen Einrichtung mit der Fähigkeit zur Kommunikation in einer Computernetzwerkumgebung und des Anzeigens abgerufener Informationen mit den Websites der Publizierer oder dem Karten-Server 112 verbinden. Beispielhafte Benutzereinrichtungen 110 wären eine Web-befähigte in der Hand gehaltene Einrichtung, ein Mobiltelefon, eine Set Top Box, eine Spielkonsole, ein Personal Digital Assistant, eine Navigationseinrichtung oder ein Computer.
-
Die Anforderung einer Karte 109 kann auch eine Anforderung von Werbung 103 umfassen oder erzeugen. Bei diesen Implementierungen kann der Karten-Server 112 Werbung 103 von dem Werbe-Server 104 anfordern. Die für Ablieferung an den Karten-Server 112 ausgewählte Werbung 103 kann auf der Basis ihrer Assoziation mit der durch den Karten-Server 112 ausgewählten Karte 109 ausgewählt werden. Zum Beispiel kann die Werbung 103 mit der Karte 109 assoziiert sein, wenn der Werbekunde 102 einen Verkaufsort in der ausgewählten Region der Karte 109 besitzt.
-
Bei bestimmten Implementierungen wird die Werbung 103 durch den Werbe-Server 104 an den Karten-Server 112 abgeliefert. Die Werbung 103 kann an einem Ort auf der Karte 109 platziert werden, der den mit dem Werbekunden 102 assoziierten Ort (z. B. eine Karte des Verkaufsorts des Werbekunden) repräsentiert. Die Werbung 103 kann auf der Karte 109 platziert werden, indem die Werbung 103 als Überlagerungen auf der Karte 109 präsentiert wird.
-
Um Platzierung einer Werbung 103 zu spezifizieren, kann ein Werbekunde 102 oder der Karten-Server 112 einen Kartenort mit der Werbung 103 assoziieren. Ein beispielhafter Ort kann die Hausadresse sein, oder ein Breiten- und Längengradort oder beliebige andere Daten, die einen Ort auf der Karte 109 spezifizieren können. Da der mit Kartenwerbung assoziierte Kartenort ein starkes Signal dafür ist, wo die Werbung 103 auf der Karte zu präsentieren ist, wird bei bestimmten Implementierungen die Werbung 103 im Allgemeinen an einem Ort auf der Karte platziert, der mit der Werbung 103 assoziiert ist, oder so nahe wie möglich.
-
Bei bestimmten Implementierungen sind die Eigenschaften der Werbung 103 von den Eigenschaften der Karte 109 unabhängig, und eine sich auf die Anzeige der Karte 109 auswirkende Änderung wirkt sich nicht unbedingt auf die Anzeige der Werbung 103 aus. Wenn zum Beispiel die Karte 109 auf einer höheren Zoom-Ebene angezeigt wird, wird die Werbung 103 nicht notwendigerweise auf der höheren Zoom-Ebene angezeigt; oder kann als Alternative an einem justierten Ort angezeigt werden.
-
Wenn Werbung 103 als Überlagerungen auf der Karte 109 präsentiert wird, ist es jedoch möglich, dass die Werbung an einem Ort präsentiert wird, der bewirkt, dass sich die Werbung mit Text überlappt, der Kartenmerkmale (z. B. Monumente, Parks, Städte usw.) identifiziert. Überlappung der Kartenmerkmale kann verhindern, dass ein Benutzer in der Lage ist, das Kartenmerkmal zu identifizieren. Eine solche Überlappung von Kartenmerkmalen kann die Nützlichkeit der Karte verringern. Somit kann ein Platzierungsort identifiziert werden, der Präsentation der Werbung 103 ermöglicht, ohne sich mit Kartenmerkmalen zu überlappen, wie nachfolgend besprochen werden wird.
-
§2.0 Inhaltspostenplatzierung
-
2A und 2B sind Beispiele für eine Karte 200 auf verschiedenen Zoom-Ebenen, worin Werbung präsentiert werden kann. Insbesondere zeigt 2A die Karte 200 auf einer ersten Zoom-Ebene in einem Benutzeroberflächenfenster, wie etwa einem Web-Browser-Fenster, und 2B zeigt die Karte 200 auf einer zweiten Zoom-Ebene in dem Benutzeroberflächenfenster. Die Karte 200 auf der ersten Zoom-Ebene zeigt einen Kartenraum 202, der der Teil der Karte 200 ist, der durch den Karten-Server ausgewählt wird, der auf einer Benutzereinrichtung angezeigt werden kann. Bei bestimmten Implementierungen wird der Kartenraum 202 durch eine Anzeigeregion 204 und eine Zoom-Ebene definiert. Die Anzeigeregion 204 ist der Teil der Anzeige des Benutzers, der für die Präsentation des Kartenraums 202 vergeben wird. Die Zoom-Ebene repräsentiert die Skalierung des Kartenraums 202 in der Anzeigeregion 204 und wird grafisch durch die Position eines Zoom-Balkens 220 in einem Zoom-Steuerelement 222 angegeben.
-
Der Kartenraum 202, der der Benutzereinrichtung präsentiert wird, kann Kartenmerkmalposten 203, wie etwa Textposten 203a, die Merkmale auf der Karte identifizieren und/oder grafische Posten 203b, wie etwa das Symbol eines öffentlichen Parks oder ein Monument-Symbol, die grafisch Kartenmerkmale darstellen, umfassen. Die Merkmalposten 203 können als Teil des Kartenraums 202 wiedergegeben werden.
-
Der Bereich, den ein Merkmalposten 203 in dem Kartenraum 202 einnimmt, kann durch ein begrenztes Polygon definiert werden, wie durch den ersten gestrichelten Umriss jedes Merkmalpostens 203 angegeben. Das begrenzte Polygon kann zum Beispiel eine Rechteck-begrenzte Region sein, die eine Grenze des durch den Merkmalposten 203 eingenommenen Bereichs festlegt. Das begrenzte Polygon kann zum Beispiel eine Konzept-Grenze repräsentieren, die einem Benutzer nicht sichtbar ist. Bei bestimmten Implementierungen können die begrenzten Polygone tangential zu den Grenzen des Texts definiert werden, aber die Größe des begrenzten Polygons kann auf der Basis der Anwendung variieren. Die begrenzten Regionen können auch die Grenzen grafischer Daten definieren, wie etwa einen Grün-Bereich (repräsentiert durch Schraffierungslinien) für den öffentlichen Park und einen Gelb-Bereich (repräsentiert durch Schraffierungslinien) für das Monument.
-
Außerdem ist in dem Kartenraum 202 ein Kartenort 210 abgebildet, wie durch einen zweiten gestrichelten Umriss angegeben. In dem Beispiel von 2A und 2B ist der Kartenort 210 ein Unternehmensort. Bei bestimmten Implementierungen kann eine Repräsentation des Gebäudes, in dem sich das Unternehmen befindet, auf dem Kartenraum 202 nicht gezeigt sein, und somit ist der zweite gestrichelte Umriss konzeptuell; bei anderen Implementierungen kann ein Gebäudeumriss, in dem sich das Unternehmen befindet, gezeigt sein, und somit kann der zweite gestrichelte Umriss ein Gebäudeumriss sein. Der Kartenort 210 kann eine Unternehmensadresse sein, z. B. ”123 Third Avenue”, oder kann Breiten- und Längengradkoordinaten sein oder eine beliebige andere Kennung, die den Ort auf der Karte 200 repräsentiert.
-
Andere herkömmliche Kartensymbole, z. B. Straßen- und Städteblöcke, werden durch die herkömmlichen Block- und Straßensymbole wie in 2A gezeigt dargestellt. Einige dieser Elemente sind weggelassen, um Überfrachtung der Zeichnungen zu vermeiden.
-
Der Eigentümer des Unternehmens an dem Kartenort 210 kann wünschen, auf der Karte 200 zu werben. Vorzugweise wird diese Werbung abhängig von der ausgewählten Zoom-Ebene in der Nähe des Kartenorts angezeigt, z. B. innerhalb einer oder zweier Häuserblöcke. Die Werbung kann zum Beispiel ein Inhaltsposten sein, der eine Inhaltspostenregion definiert, z. B. eine auswählbare Grafik mit einer Höhen- und Breitendimension. Bei bestimmten Implementierungen werden Platzierungsortsdaten verwendet, um Platzierungsorte, z. B. Orte 206a und 206b zu definieren, an denen Werbung platziert werden kann, ohne dass die Region der Werbung die begrenzte Region irgendeines Merkmalpostens 203 überschneidet.
-
Wenn sich zum Beispiel das mit der Werbung assoziierte Unternehmen an dem Kartenort 210 befindet, kann eine Werbung, die die Größe der umrissenen Region 205 aufweist, nicht an dem Kartenort 210 platziert werden, ohne mehrere Merkmalposten 203 zu überschneiden, d. h. eine Werbung mit im Wesentlichen der Größe der umrissenen Region 205 würde sich mit der Straßenbezeichnung ”3rd Avenue” und den ”Monument”-Merkmalen 203 überlappen, wenn die Merkmale 203 und die Werbung auf einer Anzeigeeinrichtung angezeigt werden. Die Werbung kann jedoch an jedem der Platzierungsorte 206a und 206b platziert werden, ohne irgendwelche Merkmalposten zu überschneiden.
-
Bei bestimmten Implementierungen kann jede Adresse für die Karte 200 verarbeitet werden, um Platzierungsorte für Inhaltsposten zu bestimmen, die für diese Adresse verfügbar sind. Die Platzierungsorte können auf der Basis der Adresse, der maximalen Distanz, in der der Inhaltsposten von der Adresse anzuzeigen ist (z. B. einen Häuserblock, einen Radius von einer Meile usw.), der Größe der begrenzten Regionen von Merkmalposten in der Nähe der Adresse, der Größe des anzuzeigenden Inhaltspostens und der Zoom-Ebene bestimmt werden.
-
Bei anderen Implementierungen werden die Platzierungsorte 206 mit einer Kartenregion assoziiert. Zum Beispiel können Kartendaten in geografische Einheiten, z. B. Abschnitte von sechs Häuserblöcken, aufgeteilt werden. Die Platzierungsorte können zum Beispiel auf der Basis der Größe der begrenzten Regionen von Merkmalposten in der Kartenregion, der Größe des anzuzeigenden Inhaltspostens und der Zoom-Ebene bestimmt werden.
-
Obwohl nur zwei Platzierungsorte (206a und 206b) gezeigt sind, können mehr Platzierungsorte mit dem Kartenort 210 oder der den Kartenort 210 umgebenden Kartenregion assoziiert werden. Zusätzliche Platzierungsorte sind nicht gezeigt, um Überfrachtung der Zeichnung zu vermeiden.
-
Wie zuvor beschrieben, können die Platzierungsorte 206, die für Präsentation von Werbung verfügbar sind, von der Zoom-Ebene des Kartenraums 202 abhängen. 2B zeigt die Karte 200 auf einer niedrigeren Zoom-Ebene, z. B. eine ”herausgezoomte” Ansicht relativ zu der Ansicht von 2A, wie durch die Justierung des Zoom-Balkens 220 in dem Zoom-Steuerelement 222 angegeben.
-
Auf der niedrigeren Zoom-Ebene von 2B wird ein größerer Kartenraum 230 in dem Benutzeroberflächenfenster angezeigt. Der Karten-Raum 230 umfasst den Kartenraum 202, der in 2A präsentiert wurde und der in 2B durch einen gestrichelten Umriss 202 identifiziert wird. Da der Kartenraum 202 von 2A nur einen Teil der Anzeigeregion 204 in 2B einnimmt, wurde der Teil des Kartenraums 202, der zum Präsentieren der Merkmalposten 203, die mit den Straßen, dem Monument und dem öffentlichen Park assoziiert sind, verfügbar ist, skaliert. Da die Zoom-Ebene manipuliert wird, ist es zusätzlich möglich, dass in dem Kartenraum 202 auf der bestimmten Zoom-Ebene präsentierte Merkmalposten 203 aufgrund von Wiedergabealgorithmusentscheidungen an verschiedenen Orten in dem Kartenraum 202 erscheinen, wenn eine andere Zoom-Ebene ausgewählt wird. Zum Beispiel kann Text unter einer minimalen Anzeigeschriftgröße nicht wiedergegeben werden, um Lesbarkeit sicherzustellen. Während der Benutzer aus der Karte ”herauszoomt, kann die Größe der Karte abnehmen, während die Anzeigeschriftgröße eines Straßennamens konstant bleibt. Somit kann sich die Größe von Merkmalposten relativ zu dem Maßstab des Kartenraums 202 ändern, während der Maßstab des Kartenraums durch eine Zoom-Operation justiert wird.
-
Ähnlich ändert sich auch der Grad von Details, die in dem Kartenraum 202 angezeigt werden, wenn sich die Zoom-Ebene ändert. Diese durch die Skalierung auf verschiedenen Zoom-Ebenen verursachten Änderungen können zu einer Änderung der verfügbaren Platzierungsorte 206 führen. Zum Beispiel ist unter Fortsetzung des Werbungsplatzierungsbeispiels von 2A, wenn der Kartenraum 230 von 2B präsentiert wird, der Platzierungsort 206c der einzige Platzierungsort, der für Präsentation der Werbung verfügbar ist. Die Platzierungsorte 206a und 206b, die in 2B durch die gestrichelten Orte 206a und 206b dargestellt sind, sind auf der Zoom-Ebene von 2B nicht verfügbar, da sich eine an diesen Orten platzierte Werbung nun mit in dem Kartenraum 230 angezeigten Merkmalposten überlappen würde. Somit können Platzierungsorte 206 auf der Basis einer Kartenregion, z. B. des Kartenraums 202, oder eines Kartenorts, z. B. des Kartenorts 210, für jede Werbung auf jeder Zoom-Ebene definiert werden.
-
§3.0 Platzierungsortsidentifikation
-
3 ist ein Blockdiagramm eines beispielhaften Platzierungsortssystems 300. Das System 300 kann verwendet werden, um die Merkmale wie oben besprochen zu realisieren, z. B. Platzierungsorte 206 für Zoom-Ebenen und Orte können für Werbung so identifiziert werden, dass die Werbung in einem Kartenraum präsentiert werden kann, ohne sich mit Merkmalposten 203 zu überlappen, die Kartenmerkmalen entsprechen.
-
Das System 300 kann ein Kartenplatzierungsmodul 302 umfassen. Das Kartenplatzierungsmodul 302 kann zum Beispiel in dem Karten-Server 112, wie in 1 beschrieben, implementiert werden. Das Kartenplatzierungsmodul 302 befindet sich in Datenkommunikation mit einem Merkmalposten-Datenspeicher 304 und einem Platzierungsort-Datenspeicher 306. Der Merkmalposten-Datenspeicher 304 und der Platzierungsortspeicher 306 können jeweils zum Beispiel in dem Karten-Speicher 114 oder in einem beliebigen anderen Speichermedium implementiert werden.
-
Bei bestimmten Implementierungen kann das Kartenplatzierungsmodul 302 Platzierungsorte 206 für Werbung auf der Basis der Merkmalpostendaten identifizieren, die in dem Merkmalposten-Datenspeicher 304 gespeichert sind. Das Kartenplatzierungsmodul 302 kann wiederum die Platzierungsorte in dem Platzierungsort-Datenspeicher 306 speichern und die gespeicherten Daten abrufen, um die Platzierung von Inhaltsposten zu ermöglichen.
-
§3.1 Der Merkmalposten-Datenspeicher
-
Der Merkmalposten-Datenspeicher 304 kann Merkmalpostendaten speichern, die die Merkmalposten definieren, die in einem Kartenraum, wie etwa dem Kartenraum 202, präsentiert werden. Zum Beispiel können die Merkmalpostendaten Informationen umfassen, die den Ort des Merkmalpostens 203 identifizieren. Der Ort der Merkmalposten 203 kann zum Beispiel durch die Orte und Bereiche der begrenzten Regionen, die den Merkmalposten 203 entsprechen, identifiziert werden. Bei bestimmten Implementierungen kann der Ort eines Merkmalpostens 203 durch einen Kartenort und Daten, die eine umgebende Grenze definieren, z. B. Koordinaten relativ zu dem Kartenort, identifiziert werden.
-
Wie oben besprochen, können Größe und Ort der Merkmalposten 203, die präsentiert werden, sowie welche Merkmalposten 203 präsentiert werden, auf jeder Zoom-Ebene unterschiedlich sein. Jeder Merkmalposten 203 in einer bestimmten geografischen Region kann somit an anderen Orten und/oder mit anderen Größen in der geografischen Region erscheinen, wenn Kartenräume verschiedener Zoom-Ebenen angefordert werden. Ähnlich können einige der Merkmalposten 203 nur auf bestimmten Zoom-Ebenen erscheinen. Bei bestimmten Implementierungen kann der Merkmalposten-Datenspeicher 304 somit die Merkmalpostendaten gemäß der Zoom-Ebene und der geografischen Region oder dem Ort, worin der Merkmalposten angezeigt wird, indexieren.
-
Die geografische Region ist ein definierter Teil der Karte. Zum Beispiel kann eine Karte in ein Gitter aufgeteilt werden und jeder Teil des Gitters kann einem bestimmten Teil (z. B. einer geografischen Region) der Karte entsprechen. Das Aufnehmen von Gitterinformationen in die Merkmalpostendaten erleichtert die Identifikation der Merkmalposten 203, die sich in einer bestimmten geografischen Region befinden können. Bei einem gegebenen Ort können zum Beispiel Merkmalposten 203 identifiziert werden, die sich in derselben Gitterregion befinden, während Merkmalposten außerhalb der Gitterregion ignoriert werden können.
-
In 3 ist eine beispielhafte Merkmalposten-Datenstruktur 305 dargestellt. Es sind Merkmalpostendaten für zwei Zoom-Ebenen Z1 und Z2 abgebildet. Jeder identifizierte Merkmalposten auf der ersten Zoom-Ebene Z1 wird durch seinen Ort (z. B. Orte 11, 12...1m) und seine Zoom-Ebene (z. B. Zoom Z1) indexiert. Jeder identifizierte Merkmalposten umfasst außerdem begrenzte Daten (z. B. Poly P1, P2...Pm), die die begrenzte Region jedes Merkmalpostens definieren. Wenn zum Beispiel die durch die Datensätze 1 – m repräsentierte Region für die Zoom-Ebene Z1 der Kartenraum 202 von 2A ist, können Daten für Poly P1 dem Merkmalposten 203 entsprechen, der Second Street in dem Kartenraum 202 identifiziert, und der Ort L11 kann den Ort der Kartenbezeichnung Second Street identifizieren, an dem die Karte auf der Zoom-Ebene Z1 angezeigt wird. Ähnlich können die übrigen Datensätze 2..m den in dem Kartenraum 202 gezeigten übrigen Merkmalposten entsprechen.
-
Ähnlich wird jeder identifizierte Merkmalposten auf der zweiten Zoom-Ebene Z2, die der Zoom-Ebene von 2B entspricht, identifiziert und durch seinen Ort (z. B. Orte L21, L22...L2n) und seine Zoom-Ebene (z. B. Zoom Z2) indexiert. Jeder identifizierte Merkmalposten umfasst außerdem begrenzte Daten (z. B. Poly P1, P2...Pn), die die begrenzte Region jedes Merkmalpostens definieren. Wenn die durch die Datensätze 1 – n auf der Zoom-Ebene Z2 repräsentierte Region der Kartenraum 230 von 2B ist, können Daten für Poly P1 somit dem Merkmalposten 203 entsprechen, der Second Street in dem Kartenraum 230 identifiziert, und der Ort L21 kann den Ort der Bezeichnung Second Street identifizieren, an dem die Karte auf der Zoom-Ebene Z2 angezeigt wird. Ähnlich können die verbleibenden Datensätze 2..n den in dem Kartenraum 230 gezeigten verbleibenden Merkmalposten entsprechen.
-
§3.2 Der Platzierungsort-Datenspeicher
-
Der Platzierungsort-Datenspeicher 306 kann Platzierungsorte für Inhaltsposten auf mehreren Zoom-Ebenen speichern. Bei bestimmten Implementierungen können die Platzierungsorte für einen Inhaltsposten in einer Inhaltsplatzierungs-Datenstruktur 307 gespeichert werden. Jeder Inhaltsposten kann einen assoziierten Kartenort Ml und eine Vielzahl von in Platzierungsdatensätzen gespeicherten Platzierungsortsdaten aufweisen. Die Platzierungsortsdaten basieren auf dem Kartenort ML und der Zoom-Ebene Z1..Zq und können Platzierungsorte für den Inhaltsposten auf der Basis des Kartenorts ML so definieren, dass, wenn die Karte auf der Zoom-Ebene mit dem Inhaltsposten präsentiert wird, der Inhaltsposten keinerlei Kartenmerkmalposten überschneidet, die auf der Karte auf der Zoom-Ebene präsentiert werden.
-
Zum Beispiel kann der Ort ML dem Kartenort 210 entsprechen, der in den Kartenräumen 202 und 230 von 2A und 2B gezeigt ist. Die durch die Zoom-Ebene Z1 und entsprechenden Orte L11 und l12 indexierten Datensätze können den Orten 206a und 206b entsprechen, die grafisch in dem Kartenraum 202 von 2A abgebildet sind. Ähnlich kann der durch die Zoom-Ebene Z2 und den entsprechenden Ort L21 indexierte Datensatz dem Ort 206c entsprechen, der grafisch in dem Kartenraum 230 von 2B abgebildet ist.
-
Bei bestimmten Implementierungen kann eine Werbung einen spezifizierten Kartenort ML, z. B. den Kartenort 210, aufweisen. Die Werbung kann auf der Basis der assoziierten Platzierungsortsdaten und Zoom-Ebenen an dem Kartenort oder relativ zu dem Kartenort angezeigt werden.
-
Bei anderen Implementierungen müssen die Platzierungsortsdaten nicht mit einem Inhaltsposten vorassoziiert sein. Zum Beispiel können die Platzierungsortsdaten für einen beliebigen Inhaltsposten einer bestimmten Größe, z. B. 32 Pixel mal 32 Pixel, verwendet werden und die Platzierungsortsdaten können für viele verschiedene Orte ML, z. B. existierende Adressen; Breiten- und Längengradkoordinaten usw. vorbestimmt werden. Die Platzierungsortsdaten können für eine jeden Ort umgebende Region abgeleitet werden, z. B. einen Bereich von neun angrenzenden Häuserblöcken; einen Radius von 500 Fuß; usw. Diese konkrete Implementierung erleichtert die Platzierung von auktionierter Werbung auf mehreren Zoom-Ebenen, so dass sich die auktionierte Werbung nicht mit dem auf dem Kartenraum angezeigten Merkmalposten überlappt.
-
§3.3 Das Kartenplatzierungsmodul
-
Das Kartenplatzierungsmodul 302 ist für das Platzieren von Inhaltsposten auf dem Kartenraum und für das Bestimmen von Platzierungsortsdaten verantwortlich.
-
§3.3.1 Inhaltspostenplatzierung
-
Das Kartenplatzierungsmodul 302 kann eine Benachrichtigung empfangen, dass ein Inhaltsposten auf dem Kartenraum zu platzieren ist, und kann den Kartenort und die Zoom-Ebene, die mit der Inhaltspostenplatzierung assoziiert sind, identifizieren. Der Kartenort kann entweder mit dem Inhaltsposten vorassoziiert werden, wie etwa eine Unternehmensadresse, die mit einer Unternehmenswerbung für dieses Unternehmen assoziiert ist, oder kann zum Beispiel als Ergebnis einer Auktion dem Inhaltsposten zugewiesen werden. In jedem Fall fragt das Kartenplatzierungsmodul 302 den Platzierungsort-Datenspeicher 306 nach einem entsprechenden Platzierungsort auf der Zoom-Ebene, auf der der Kartenraum anzuzeigen ist, ab.
-
Wenn zum Beispiel eine Werbung dem Werbe-Server 104 von 1 unterbreite wird, kann der Werbe-Server 104 Informationen, die den Kartenort 210 für die Werbung identifizieren, dem Kartenplatzierungsmodul 302 bereitstellen. Das Kartenplatzierungsmodul 302 kann den Kartenort verwenden, um die geografische Region der Karte zu identifizieren, für die Merkmalpostendaten erforderlich sind. Das Kartenplatzierungsmodul 302 kann wiederum Platzierungsortsdaten für die geografische Region aus dem Platzierungsort-Datenspeicher 306, indexiert durch die Zoom-Ebene, auf der die Karte anzuzeigen ist, abrufen. Für den Kartenort 210 auf der Zoom-Ebene Z1 würden somit die Ortsdaten L11 und L12 abgerufen. Die Werbung könnte somit an jedem dieser Orte platziert werden. Ähnlich würden für den Kartenort 210 auf der Zoom-Ebene Z2 die Ortsdaten L21 abgerufen, und die Werbung würde somit an diesem Ort platziert.
-
§3.3.2 Erzeugung von Platzierungsortdaten
-
Bei bestimmten Implementierungen kann das Kartenplatzierungsmodul 302 Platzierungsortsdaten auf Bedarfsbasis erzeugen, z. B. als Reaktion auf das Erbringen eines Inhaltspostens. Bei anderen Implementierungen kann das Kartenplatzierungsmodul 302 Platzierungsortsdaten vor jeder Inhaltspostenanforderung erzeugen. Diese beiden Implementierungen können auch kombiniert werden. Nachdem die Platzierungsortsdaten erzeugt sind, können sie in dem Platzierungsort-Datenspeicher 306 gespeichert werden.
-
Bei einer Implementierung kann das Kartenplatzierungsmodul 302 Platzierungsorte für einen Inhaltsposten auf jeder Zoom-Ebene auf der Basis der Merkmalpostendaten, eines Orts oder einer Region und der Zoom-Ebene identifizieren. Das Kartenplatzierungsmodul 302 kann zum Beispiel eine Teilmenge der Merkmalpostendaten auswählen, die mit einer bestimmte Zoom-Ebene und einem bestimmten Kartenort assoziiert ist, und durch Vergleichen der Merkmalpostenortsdaten (z. B. L11, L12...L1m) mit dem Kartenort (z. B. Ort 210) bestimmen, welche Merkmalposten 203 sich in der Nähe des Kartenorts 210 befinden. Merkmalposten in einer maximalen Distanz von dem Kartenort können zur Evaluierung identifiziert werden. Die maximale Distanz von dem identifizierten Ort kann zum Beispiel wie eine spezifizierte Anzahl von Pixeln von dem identifizierten Ort (z. B. innerhalb 50 Pixel des identifizierten Orts auf der Zoom-Ebene); eine Region (z. B. mehrere Häuserblöcke), eine radiale Distanz (z. B. ein 500-Fuß-Kartenradius); oder eine gewisse andere Distanz sein, die in dem Kartenraum repräsentiert werden kann.
-
Das Kartenplatzierungsmodul 302 kann dann den Ort und einen Bereich, der durch den Inhaltsposten eingenommen würde, wenn der Inhaltsposten an dem Ort mit den Merkmalpostenorten und dem Bereich begrenzter Regionen der ausgewählten Merkmalposten wiedergegeben wird, vergleichen. Bei bestimmten Implementierungen kann das Kartenplatzierungsmodul 302 zuerst bestimmen, ob die Werbung an dem Kartenort 210, der mit der Werbung assoziiert ist, platziert werden kann. Zum Beispiel kann bei einer Implementierung das Kartenplatzierungsmodul 302 bestimmen, ob sich irgendwelche der zum Präsentieren der Werbung erforderlichen Pixel mit zum Präsentieren der ausgewählten Merkmalposten erforderlichen Pixeln überlappen werden, wenn die Werbung an dem Kartenort 210 platziert wird.
-
Wenn eine Überlappung (z. B. entweder teilweise, wesentlich oder vollständig) zwischen den für die Werbung erforderlichen Pixeln und irgendwelchen der Merkmalposten, wie durch die begrenzten Daten definiert, besteht, kann das Kartenplatzierungsmodul 302 nach einem Platzierungsort in der Nähe des Kartenorts suchen, an dem die Werbung ohne solche Überlappung präsentiert werden kann. Bei bestimmten Implementierungen kann die Suche an Orten beginnen, die dem Kartenort 210 am nächsten sind, und Schrittweise nach außen von dem Kartenort aus expandieren, bis ein Platzierungsort identifiziert ist oder bis ein Maximaljustierungslimit erreicht ist. Das Maximaljustierungslimit kann eine Regionengrenze; eine Häuserblockgrenze; eine Distanz; usw. sein. Bei bestimmten Implementierungen werden alle möglichen Orte für eine Region evaluiert und jeder Ort, der als ein Platzierungsort identifiziert wird, wird in dem Platzierungsort-Datenspeicher 306 gespeichert.
-
Bei anderen Implementierungen kann das Kartenplatzierungsmodul 302 eine Inhaltspostenregion identifizieren, die eine Grenze des Inhaltspostens definiert, z. B. Höhen- und Breitendimensionen des Inhaltspostens. Die begrenzten Regionen der Merkmalposten in einer einen Ort umgebenden Region können mit der Inhaltspostenregion an dem Ort verglichen werden, und wenn sich alle begrenzten Regionen und die Inhaltspostenregionen nicht schneiden, kann der Ort als ein Platzierungsort in dem Platzierungsort-Datenspeicher 306 gespeichert werden. Wenn sich umgekehrt irgendwelche der begrenzten Regionen der Merkmalposten in der den Ort umgebenden Region überschneiden, kann der Ort justiert und der Prozess wiederholt werden, bis ein Platzierungsort identifiziert ist oder bis das Maximaljustierungslimit erreicht ist. Bei bestimmten Implementierungen werden alle möglichen Orte für eine Region evaluiert und jeder Ort, der als ein Platzierungsort identifiziert wird, wird in dem Platzierungsort-Datenspeicher 306 gespeichert.
-
§4.0 Ein beispielhafter Prozessfluss
-
4 ist ein Flussdiagramm eines beispielhaften Prozesses 400 des Platzierens eines Inhaltspostens auf einer Karte. Der Prozess 400 kann zum Beispiel in dem Karten-Server 112 von 1 und/oder dem Kartenplatzierungsmodul 302 von 3 verwendet werden.
-
Phase 402 identifiziert einen Kartenort auf einer Karte. Zum Beispiel können der Karten-Server 112 und/oder das Kartenplatzierungsmodul 302 einen Kartenort auf einer Karte identifizieren. Der Ort kann mit einem Inhaltsposten, zum Beispiel einer Werbung, assoziiert werden.
-
Phase 404 identifiziert eine Zoom-Ebene, auf der die Karte zu präsentieren ist. Zum Beispiel können der Karten-Server 112 und/oder das Kartenplatzierungsmodul 302 eine Zoom-Ebene identifizieren, auf der eine Karte anzuzeigen ist. Die Zoom-Ebene kann als Reaktion auf eine Kartenanforderung von einer Client-Einrichtung identifiziert werden.
-
Phase 406 fordert Platzierungsortsdaten auf der Basis des Kartenorts und der Zoom-Ebene an. Zum Beispiel können der Karten-Server 112 und/oder das Kartenplatzierungsmodul 302 den Platzierungsort-Datenspeicher 306 unter Verwendung des Kartenorts und der Zoom-Ebene als Eingaben abfragen.
-
Phase 408 bestimmt, ob Platzierungsortsdaten als Reaktion auf die Anforderung von Phase 406 empfangen werden. Zum Beispiel können der Karten-Server 112 und/oder das Kartenplatzierungsmodul 302 bestimmen, ob ein oder mehrere Platzierungsorte, z. B. L11, L12, usw., von dem Platzierungsort-Datenspeicher 306 empfangen werden.
-
Wenn Platzierungsortsdaten empfangen werden, stellt Phase 410 die Platzierungsortsdaten und den Inhaltsposten einer Client-Einrichtung bereit. Zum Beispiel können der Karten-Server 112 und/oder das Kartenplatzierungsmodul 302 die Platzierungsortsdaten und den Inhaltsposten als Präsentationsdaten der Client-Einrichtung bereitstellen, so dass, wenn die Karte auf der Zoom-Ebene präsentiert wird, der Inhaltsposten an dem Platzierungsort angezeigt wird und sich nicht mit einem Kartenmerkmal überlappt.
-
Wenn umgekehrt keine Platzierungsortsdaten empfangen werden, identifiziert Phase 412 Kartenmerkmalposten auf der Basis des Kartenorts und der Zoom-Ebene. Zum Beispiel können der Karten-Server 112 und/oder das Kartenplatzierungsmodul 302 den Merkmalposten-Datenspeicher 304 abfragen, um Merkmalpostendaten, z. B. Poly-Daten P1...Pm, Ortsdaten L11...L1m, für eine Zoom-Ebene Z1, zu identifizieren.
-
Phase 414 erzeugt Platzierungsortsdaten für eine Kartenregion, die den Kartenort umfasst. Zum Beispiel können der Karten-Server 112 und/oder das Kartenplatzierungsmodul 302 die begrenzte Region an dem Merkmalpostenort mit der Inhaltspostenregion an dem Kartenort vergleichen und bestimmen, ob sich die begrenzte Region und die Inhaltspostenregion überschneiden. Wenn sich die begrenzte Region und die Inhaltspostenregion nicht überschneiden, kann der Kartenort als ein Platzierungsort in dem Platzierungsorts-Datenspeicher gespeichert werden. Wenn sich umgekehrt die Regionen überschneiden, kann der Kartenort iterativ justiert werden, und nach jeder iterativen Justierung kann die begrenzte Region an dem Merkmalpostenort mit der Inhaltspostenregion an dem Kartenort verglichen werden, bis sich die Regionen nicht überschneiden oder bis ein Maximaljustierungslimit erreicht ist.
-
Der Prozess schreitet dann zu Phase 410 voran, die dann die Platzierungsortsdaten und den Inhaltsposten einer Client-Einrichtung bereitstellt. Zum Beispiel können der Karten-Server 112 und/oder das Kartenplatzierungsmodul 302 einen in Phase 414 erzeugten Platzierungsort und den Inhaltsposten der Client-Einrichtung bereitstellen, so dass, wenn die Karte auf der Zoom-Ebene präsentiert wird, der Inhaltsposten an dem Platzierungsort angezeigt wird und sich nicht mit einem Kartenmerkmal überlappt.
-
5 ist ein Flussdiagramm eines beispielhaften Prozesses 500 zum identifizieren eines Platzierungsorts auf einer Karte. Der Prozess 500 kann zum Beispiel in dem Karten-Server 112 von 1 und/oder dem Kartenplatzierungsmodul 302 von 3 verwendet werden. Der Prozess 500 kann zum Beispiel verwendet werden, um Phase 414 von 4 zu implementieren.
-
Phase 502 identifiziert eine Inhaltspostenregion, die eine Grenze des Inhaltspostens definiert. Zum Beispiel können der Karten-Server 112 und/oder das Kartenplatzierungsmodul 302 eine Inhaltspostenregion identifizieren, die eine Grenze einer Werbung, wie etwa eines Anzeigeelements, z. B. einer Anzeigebox, das bzw. die eine Kreierung oder ein Unternehmenslogo anzeigt, definiert.
-
Phase 504 identifiziert begrenzte Regionen, die Grenzen von Kartenmerkmalposten definieren. Zum Beispiel können der Karten-Server 112 und/oder das Kartenplatzierungsmodul 302 den Merkmalposten-Datenspeicher 304 abfragen, um Merkmalpostenortsdaten L11...L1m und Poly-Daten P1...Pn für eine Zoom-Ebene zu identifizieren.
-
Phase 506 identifiziert einen infrage kommenden Ort, an dem die Inhaltspostenregion zu lokalisieren ist. Zum Beispiel können der Karten-Server 112 und/oder das Kartenplatzierungsmodul 302 einen Ort einer Unternehmensentität, z. B. eine Adresse oder einen naheliegenden Ort, wie etwa einen justierten Ort, als den infrage kommenden Ort identifizieren.
-
Phase 508 bestimmt, ob sich die begrenzten Regionen und irgendwelche der Inhaltspostenregionen überschneiden. Zum Beispiel können der Karten-Server 112 und/oder das Kartenplatzierungsmodul 302 die begrenzten Regionen P1, P2..Pm, die jeweils an den Orten L11, L12...L1m zentriert sind, mit der Inhaltspostenregion an einem infrage kommenden Ort auf der Karte vergleichen. Auf der Basis des Vergleichs können der Karten-Server 112 und/oder das Kartenplatzierungsmodul 302 bestimmen, ob sich irgendwelche durch die Inhaltspostenregion und die an ihren jeweiligen Orten zentrierten begrenzten Regionen definierten Bereiche überschneiden.
-
Wenn sich keine der begrenzten Regionen und der Inhaltsposten überschneiden, speichert Phase 510 den infrage kommenden Ort auf der Karte als einen Platzierungsort. Zum Beispiel können der Karten-Server 112 und/oder das Kartenplatzierungsmodul 302 Koordinaten oder andere Daten, die den Ort auf der Karte identifizieren, in dem Platzierungsdatenspeicher speichern und den Ort durch die Zoom-Ebene indexieren.
-
Nach Phase 510 oder wenn Phase 508 bestimmt, dass sich eine begrenzte Region und der Inhaltsposten überschneiden, bestimmt Phase 512, ob der infrage kommende Ort des Inhaltspostens justiert werden sollte. Zum Beispiel können der Karten-Server 112 und/oder das Kartenplatzierungsmodul 302 mehrere Orte in einer Kartenregion untersuchen, um alle verfügbaren Platzierungsorte zu identifizieren, indem iterativ der Ort auf der Karte justiert und Phase 508 wiederholt wird.
-
Wenn Phase 512 bestimmt, dass der Kartenort des Inhaltspostens justiert werden sollte, justiert Phase 514 den Ort, und der Prozess kehrt zu Phase 502 zurück und alle nachfolgenden Phasen werden dann mit den justierten Ortsdaten wiederholt. Wenn umgekehrt Phase 512 bestimmt, dass der Kartenort des Inhaltspostens nicht justiert werden sollte, endet Prozess 500 in Phase 516.
-
Bei bestimmten Implementierungen kann der Prozess 500 auf verschiedenen Zoom-Ebenen wiederholt werden. Zum Beispiel kann der Prozess 500 implementiert werden, um eine Datenbank von Platzierungsort-Datensätzen während einer Vorverarbeitungsroutine aufzubauen. Bei solchen Implementierungen kann Phase 512 der Phase 516 vorausgehen, die bestimmt, ob zusätzliche Zoom-Ebenen verarbeitet werden sollten. Zum Beispiel können der Karten-Server 112 und/oder das Kartenplatzierungsmodul 302 dafür ausgelegt werden, mehrere Zoom-Ebenen für einen Ort auf einer Karte zu verarbeiten. Wenn verbleibende Zoom-Ebenen zu verarbeiten sind, wird die Zoom-Ebene justiert; andernfalls endet der Prozess 500 in Phase 514.
-
Wenn Phase 516 bestimmt, dass zusätzliche Zoom-Ebenen verarbeitet werden sollten, justiert Phase 518 die Zoom-Ebene und setzt den Ort auf der Karte auf einen ursprünglichen Wert zurück. Zum Beispiel können der Karten-Server 112 und/oder das Kartenplatzierungsmodul 302 die Zoom-Ebene auf eine zweite Zoom-Ebene, z. B. Z2, justieren und den Ort auf der Karte auf einen ursprünglichen Wert, z. B. Ort 210, zurücksetzen. Der Prozess 500 kehrt dann zu Phase 502 zurück.
-
6 ist ein Blockdiagramm eines beispielhaften Computersystems 600, das verwendet werden kann, um Positionierung von Inhalt auf Online-Karten zu ermöglichen. Das System 600 umfasst einen Prozessor 610, einen Speicher 620, eine Speicherungseinrichtung 630 und eine Eingabe-/Ausgabeeinrichtung 640. Jede der Komponenten 610, 620, 630 und 640 kann zum Beispiel unter Verwendung eines Systembusses 660 verbunden sein. Der Prozessor 610 kann Anweisungen zur Ausführung in dem System 600 verarbeiten. Bei einer Implementierung ist der Prozessor 610 ein Einzel-Thread-Prozessor. Bei einer anderen Implementierung ist der ein Mehrfach-Thread-Prozessor. Der Prozessor 610 kann Verarbeitungsanweisungen verarbeiten, die in dem Speicher 620 oder auf der Speicherungseinrichtung 630 gespeichert sind.
-
Der Speicher 620 speichert Informationen in dem System 600. Bei einer Implementierung ist der Speicher 620 ein computerlesbares Medium. Bei einer Implementierung ist der Speicher 620 eine flüchtige Speichereinheit. Bei einer anderen Implementierung ist der Speicher 620 eine nichtflüchtige Speichereinheit.
-
Die Speicherungseinrichtung 630 kann Massenspeicherung für das System 600 bereitstellen. Bei einer Implementierung ist die Speicherungseinrichtung 630 ein computerlesbares Medium. Bei diversen verschiedenen Implementierungen kann die Speicherungseinrichtung 630 zum Beispiel eine Festplatteneinrichtung, eine optische Datenträgereinrichtung oder eine gewisse andere Speicherungseinrichtung großer Kapazität umfassen.
-
Die Eingabe-/Ausgabeeinrichtung 640 stellt Eingabe-/Ausgabeoperationen für das System 600 bereit. Bei einer Implementierung kann die Eingabe-/Ausgabeeinrichtung 640 eines oder mehrere einer Netzwerkschnittstelleneinrichtungen, z. B. einer Ethernet-Karte, einer seriellen Kommunikationseinrichtung, z. B. und RS-232-Port und/oder eine drahtlose Schnittstelleneinrichtung, z. B. und 802.11-Karte umfassen. Bei einer anderen Implementierung kann die Eingabe-/Ausgabeeinrichtung Treibereinrichtungen umfassen, die dafür ausgelegt sind, Eingangsdaten zu empfangen und Ausgangsdaten zu anderen Eingabe-/Ausgabeeinrichtungen, z. B. einer Tastatur, einem Drucker und Anzeigeeinrichtungen 660, zu senden. Es können jedoch auch andere Implementierungen verwendet werden, wie etwa mobile Datenverarbeitungseinrichtungen, Mobilkommunikationseinrichtungen, Set-Top-Box-Fernseh-Client-Einrichtungen usw.
-
Das Kartenplatzierungsmodul 300 kann durch Anweisungen realisiert werden, die bei Ausführung bewirken, dass eine oder mehrere Verarbeitungseinrichtungen die oben beschriebenen Prozesse und Funktionen ausführen. Solche Anweisungen können zum Beispiel interpretierte Anweisungen, wie etwa Script-Anweisungen, z. B. JavaScript oder ECMAScript-Anweisungen, oder ausführbaren Code oder andere in einem computerlesbaren Medium gespeicherte Anweisungen umfassen. Das Kartenplatzierungsmodul 300 kann distributiv über einem Netzwerk, wie etwa einer Server-Farm, implementiert werden oder kann in einer einzigen Computereinrichtung implementiert werden.
-
Obwohl in 6 ein beispielhaftes Verarbeitungssystem beschrieben wurde, können Implementierungen des Gegenstands und der funktionalen Operationen, die in der vorliegenden Beschreibung beschrieben werden, in anderen Arten von digitalen elektronischen Schaltkreisen oder in Computersoftware, -firmware oder -hardware, einschließlich der in der vorliegenden Beschreibung offenbarten Strukturen und ihrer strukturellen Äquivalente, oder in Kombinationen einer oder mehrerer dieser implementiert werden. Implementierungen des in der vorliegenden Beschreibung beschriebenen Gegenstands können als ein oder mehrere Computerprogrammprodukte implementiert werden, d. h. ein oder mehrere Module von Computerprogrammanweisungen, die auf einem greifbaren Programmträger zur Ausführung durch ein Verarbeitungssystem oder Steuerung seines Betriebs codiert sind. Das computerlesbare Medium kann eine computerlesbare Speichereinrichtung, ein maschinenlesbares Speicherungssubstrat, eine Speichereinrichtung, eine Materialzusammensetzung, die ein maschinenlesbares propagiertes Signal bewirkt, oder eine Kombination von einem oder mehrerer dieser sein.
-
Der Ausdruck ”Verarbeitungssystem” umfasst alle Vorrichtungen, Einrichtungen und Maschinen zum Verarbeiten von Daten, darunter beispielsweise ein programmierbarer Prozessor, ein Computer oder mehrere Prozessoren oder Computer. Das Verarbeitungssystem kann zusätzlich zu Hardware Code umfassen, der eine Ausführungsumgebung für das betreffende Computerprogramm erzeugt, z. B. Code, der Prozessorfirmware, einen Protokollstapel, ein Datenbankverwaltungssystem, ein Betriebssystem oder eine Kombination von einem oder mehreren dieser bildet.
-
Ein Computerprogramm (das auch als Programm, Software, Softwareanwendung, Script oder Code bekannt ist) kann in einer beliebigen Form von Programmiersprache geschrieben sein, darunter kompilierte oder interpretierte Sprachen oder deklarative oder prozedurale Sprachen, und kann in einer beliebigen Form eingesetzt werden, darunter als selbständiges Programm oder als Modul, Komponente oder Subroutine oder andere Einheit, die für Verwendung in einer Datenverarbeitungsumgebung geeignet ist. Ein Computerprogramm entspricht nicht unbedingt einer Datei in einem Dateisystem. Ein Programm kann in einem Teil einer Datei, die andere Programme oder Daten (z. B. ein oder mehrere in einem Markup-Sprachendokument gespeicherte Scripts) hält, in einer einzigen Datei, die dem betreffenden Programm gewidmet ist, oder in mehreren koordinierten Dateien (z. B. Dateien, die ein oder mehrere Module, Subprogramme oder Teile von Code speichern) gespeichert sein. Ein Computerprogramm kann eingesetzt werden, um auf einem Computer oder auf mehreren Computern, die sich an einem Standort oder über mehrere Standorte verteilt und durch ein Kommunikationsnetzwerk verbunden befinden, ausgeführt zu werden.
-
Computerlesbare Medien, die zum Speichern von Computerprogrammanweisungen und Daten geeignet sind, umfassen alle Formen von nichtflüchtigem Speicher, Medien und Speichereinrichtungen, darunter beispielsweise Halbleiter-Speichereinrichtungen, z. B. EPROM, EEPROM und Flash-Speichereinrichtungen; magnetische Datenträger, z. B. interne Festplatten oder wechselbare Datenträger; magnetooptische Datenträger; und CD-ROM- und DVD-ROM-Datenträger. Der Prozessor und der Speicher können durch spezielle Logikschaltkreise ergänzt oder darin integriert sein.
-
Implementierungen des in der vorliegenden Beschreibung beschriebenen Gegenstands können in einem Datenverarbeitungssystem implementiert sein, das eine Backend-Komponente, z. B. als einen Datenserver umfasst oder das eine Middleware-Komponente, z. B. einen Anwendungsserver, umfasst oder das eine Frontend-Komponente umfasst, z. B. einen Client-Computer mit einer grafischen Benutzeroberfläche oder einem Web-Browser, wodurch ein Benutzer mit einer Implementierung des in der vorliegenden Beschreibung beschriebenen Gegenstands in Interaktion treten kann, oder eine beliebige Kombination einer oder mehrerer solcher Backend-, Middleware- oder Frontend-Komponenten. Die Komponenten des Systems können durch eine beliebige Form oder ein beliebiges Medium der digitalen Datenkommunikation, z. B. ein Kommunikationsnetzwerk, verbunden sein. Beispiele für Kommunikationsnetzwerke wären ein lokales Netzwerk (”LAN”) und ein großflächiges Netzwerk (”WAN”), z. B. das Internet.
-
Das Datenverarbeitungssystem kann Clients und Server umfassen. Ein Client und Server sind im Allgemeinen voneinander entfernt und treten typischerweise durch ein Kommunikationsnetzwerk in Interaktion. Die Beziehung von Client und Server entsteht mittels Computerprogrammen, die auf den jeweiligen Computern laufen und eine Client-Server-Beziehung zueinander aufweisen.
-
Obwohl die vorliegende Beschreibung viele spezifische Implementierungseinzelheiten enthält, sollten diese nicht als Beschränkungen des Schutzumfangs irgendeiner Erfindung oder des Beanspruchbaren aufgefasst werden, sondern als Beschreibungen von Merkmalen, die für konkrete Implementierungen konkreter Erfindungen spezifisch sein können. Bestimmte Merkmale, die in der vorliegenden Beschreibung im Kontext separater Implementierungen beschrieben werden, können auch in Kombination in einer einzigen Implementierung implementiert werden. Umgekehrt können verschiedene Merkmale, die im Kontext einer einzigen Implementierung beschrieben werden, auch in mehreren Implementierungen separat oder in einer beliebigen geeigneten Subkombination implementiert werden. Obwohl Merkmale oben möglicherweise als in bestimmten Kombinationen wirkend beschrieben und anfänglich sogar dementsprechend beansprucht wurden, können darüber hinaus ein oder mehrere Merkmale aus einer beanspruchten Kombination in bestimmten Fällen aus der Kombination herausgenommen werden, und die beanspruchte Kombination kann eine Subkombination oder Variante einer Subkombination betreffen.
-
Obwohl Operationen in den Zeichnungen in einer bestimmten Reihenfolge abgebildet sind, sollte dies ähnlich nicht als Erfordernis aufgefasst werden, dass solche Operationen in der konkreten gezeigten Reihenfolge oder in sequenzieller Reihenfolge auszuführen sind oder dass alle dargestellten Operationen auszuführen sind, um wünschenswerte Ergebnisse zu erzielen. Unter bestimmten Umständen können Multitasking und Parallelverarbeitung vorteilhaft sein. Die Auftrennung verschiedener Systemkomponenten in den oben beschriebenen Implementierungen sollte darüber hinaus nicht als Erfordernis einer solchen Auftrennung in allen Implementierungen aufgefasst werden und es versteht sich, dass die beschriebenen Programmkomponenten und Systeme im Allgemeinen in einem einzigen Softwareprodukt miteinander integriert oder zu mehreren Softwareprodukten verpackt werden können.
-
Die vorliegende schriftliche Beschreibung legt die beste Art der Ausübung der Erfindung dar und gibt Beispiele zur Beschreibung der Erfindung und um es Durchschnittsfachleuten zu ermöglichen, die Erfindung herzustellen und zu verwenden. Diese schriftliche Beschreibung begrenzt die Erfindung nicht auf die genauen dargelegten Begriffe. Obwohl die Erfindung ausführlich mit Bezug auf die oben dargelegten Beispiele beschrieben wurde, können somit Durchschnittsfachleute Abänderungen, Modifikationen und Varianten der Beispiele bewirken, ohne von dem Schutzumfang der Erfindung abzuweichen.
-
Obwohl die vorliegende Erfindung oben beschrieben wurde und in den beigefügten Ansprüchen definiert ist, sollte verstanden werden, dass die Erfindung alternativ auch entsprechend der folgenden Ausführungsformen definiert werden kann:
- 1. Computerlesbares Medium, das mit einem Computerprogramm codiert ist, wobei das Computerprogramm Anweisungen umfasst, die bei Ausführung durch eine Datenverarbeitungseinrichtung bewirken, dass die Datenverarbeitungseinrichtung Operationen ausführt umfassend:
Identifizieren eines Kartenorts;
Identifizieren eines Merkmalorts auf der Basis des Kartenorts und einer Zoom-Ebene, wobei der Merkmalort mit einem Kartenmerkmal assoziiert ist; und
Bestimmen eines Platzierungsorts zur Platzierung eines Inhaltspostens relativ zu dem Kartenort dergestalt, dass, wenn die Karte auf der Zoom-Ebene mit dem Inhaltsposten präsentiert wird, der Inhaltsposten das Kartenmerkmal nicht überschneidet.
- 2. Computerlesbares Medium nach Ausführungsform 1, wobei das Bestimmen des Platzierungsorts Folgendes umfasst:
Identifizieren einer begrenzten Region, die eine Grenze des Kartenmerkmals an dem Merkmalort definiert;
Identifizieren eines infrage kommenden Orts für den Inhaltsposten;
Identifizieren einer Inhaltspostenregion, die eine Grenze des Inhaltspostens definiert, wenn der Inhaltsposten an dem infrage kommenden Ort platziert wird; und
Bestimmen, ob sich die begrenzte Region und die Inhaltspostenregion überschneiden.
- 3. Computerlesbares Medium nach Ausführungsform 2, ferner umfassend Setzen des Platzierungsorts auf den infrage kommenden Ort, wenn bestimmt wird, dass sich die begrenzte Region und die Inhaltspostenregion nicht überschneiden.
- 4. Computerlesbares Medium nach Ausführungsform 2, wobei das Computerprogramm ferner Anweisungen umfasst, die bei Ausführung durch die Datenverarbeitungseinrichtung bewirken, dass die Datenverarbeitungseinrichtung Operationen ausführt, umfassend:
iteratives Justieren des infrage kommenden Orts, wenn bestimmt wird, dass sich die begrenzte Region und die Inhaltspostenregion überschneiden;
für jede iterative Justierung: Bestimmen, ob der justierte infrage kommende Ort ein Maximaljustierungslimit übersteigt;
wenn der justierte infrage kommende Ort das Maximaljustierungslimit nicht übersteigt:
Bestimmen, ob sich die begrenzte Region und die Inhaltspostenregion überschneiden, wenn der Inhaltsposten an dem justierten infrage kommenden Ort platziert wird; und
Setzen des Platzierungsorts auf den justierten infrage kommenden Ort, wenn bestimmt wird, dass sich die begrenzte Region und die Inhaltspostenregion nicht überschneiden; und
wenn der justierte infrage kommende Ort das Maximaljustierungslimit übersteigt, Ausschließen der Präsentation des Inhaltspostens mit der Karte auf der Zoom-Ebene.
- 5. Computerlesbares Medium nach Ausführungsform 2, wobei das Identifizieren des infrage kommenden Orts das Identifizieren des Kartenorts auf der Karte umfasst.
- 6. Computerlesbares Medium nach Ausführungsform 2, wobei das Identifizieren des Kartenorts das Identifizieren eines Orts auf der Karte, der dem Kartenort nahe ist, umfasst.
- 7. Computerlesbares Medium nach Ausführungsform 1, wobei das Computerprogramm ferner Anweisungen umfasst, die bei Ausführung durch die Datenverarbeitungseinrichtung bewirken, dass die Datenverarbeitungseinrichtung Operationen ausführt, umfassend Bereitstellen von Präsentationsdaten für eine Client-Einrichtung, wobei die Präsentationsdaten Daten beinhalten, die den Platzierungsort und den Inhaltsposten definieren und die bewirken, dass die Client-Einrichtung den Inhaltsposten an dem Platzierungsort auf der Karte präsentiert, wenn die Karte auf der Zoom-Ebene präsentiert wird.
- 8. Computerlesbares Medium nach Ausführungsform 1, wobei der Inhaltsposten eine Werbung ist.
- 9. Computerlesbares Medium, das mit einem Computerprogramm codiert ist, wobei das Computerprogramm Anweisungen umfasst, die bei Ausführung durch eine Datenverarbeitungseinrichtung bewirken, dass die Datenverarbeitungseinrichtung Operationen ausführt, umfassend:
Identifizieren eines Kartenorts auf einer Karte, wobei der Kartenort mit einem Inhaltsposten assoziiert ist;
Identifizieren einer Zoom-Ebene, auf der die Karte zu präsentieren ist;
Anfordern von Platzierungsortsdaten auf der Basis des Kartenorts und der Zoom-Ebene, wobei die Platzierungsortsdaten einen Platzierungsort für den Inhaltsposten relativ zu dem Kartenort dergestalt definieren, dass, wenn die Karte auf der Zoom-Ebene mit dem Inhaltsposten präsentiert wird, der Inhaltsposten keinerlei Kartenmerkmalposten, die auf der Karte auf der Zoom-Ebene präsentiert werden, überschneidet; und
Bestimmen, ob Platzierungsortsdaten als Reaktion auf die Anforderung empfangen werden; und
wenn Platzierungsortsdaten als Reaktion auf die Anforderung empfangen werden, Bereitstellen der Platzierungsortsdaten und des Inhaltspostens für eine Client-Einrichtung, so dass die Client-Einrichtung den Inhaltsposten an dem Platzierungsort auf der Karte präsentieren kann, wenn die Karte auf der Zoom-Ebene präsentiert wird.
- 10. Computerlesbares Medium nach Ausführungsform 9, wobei das Computerprogramm ferner Anweisungen umfasst, die bei Ausführung durch die Datenverarbeitungseinrichtung bewirken, dass die Datenverarbeitungseinrichtung Operationen ausführt, umfassend:
wenn keine Platzierungsortsdaten als Reaktion auf die Anforderung empfangen werden:
Identifizieren von Kartenmerkmalposten auf der Basis des Kartenorts und der Zoom-Ebene, wobei jeder Merkmalposten einen entsprechenden Merkmalpostenbereich relativ zu einem Merkmalpostenort auf der Zoom-Ebene definiert; und
Erzeugen der Platzierungsortsdaten für eine Kartenregion, die den Kartenort umfasst.
- 11. Computerlesbares Medium nach Ausführungsform 10, wobei die Kartenregion ein Kartenmosaik ist.
- 12. Computerlesbares Medium nach Ausführungsform 9, wobei das Computerprogramm ferner Anweisungen umfasst, die bei Ausführung durch die Datenverarbeitungseinrichtung bewirken, dass die Datenverarbeitungseinrichtung Operationen ausführt, umfassend:
wenn bestimmt wird, dass keine Platzierungsortsdaten als Reaktion auf die Anforderung empfangen werden:
Identifizieren einer begrenzten Region, die eine Grenze eines Kartenmerkmalpostens definiert;
Identifizieren einer Inhaltspostenregion, die eine Grenze des Inhaltspostens, wenn der Inhaltsposten an dem Kartenort platziert wird, definiert;
Bestimmen, ob sich die begrenzte Region und die Inhaltspostenregion überschneiden; und
Speichern des Kartenorts als Platzierungsort, wenn bestimmt wird, dass sich die begrenzte Region und die Inhaltspostenregion nicht überschneiden.
- 13. Computerlesbares Medium nach Ausführungsform 12, wobei der Inhaltsposten eine Werbung ist.
- 14. Computerlesbares Medium nach Ausführungsform 9, wobei der Kartenmerkmalposten eine Kartenbezeichnung ist.
- 15. Computerlesbares Medium nach Ausführungsform 9, wobei der Kartenmerkmalposten eine Darstellung eines geografischen Merkmals ist.
- 16. System, umfassend:
einen Platzierungsort-Datenspeicher, der Platzierungsorte auf einer Karte speichert, wobei die Platzierungsorte für eine Kartenregion und Zoom-Ebenen, auf denen die Karte zu präsentieren ist, definiert sind; und
Software, die in einem computerlesbaren Medium gespeichert ist und Anweisungen umfasst, die durch ein Verarbeitungssystem ausführbar sind und bei einer solchen Ausführung bewirken, dass das Verarbeitungssystem Operationen ausführt, umfassend:
Identifizieren eines Kartenorts auf einer Karte, wobei der Kartenort mit einem Inhaltsposten assoziiert ist und einen Ort innerhalb der Kartenregion definiert;
Identifizieren einer Zoom-Ebene, auf der die Karte zu präsentieren ist;
Anfordern von Platzierungsortsdaten auf der Basis des Kartenorts und der Zoom-Ebene zur Verwendung bei der Definition eines Platzierungsorts für den Inhaltsposten, sodass, wenn die Karte auf der Zoom-Ebene mit dem Inhaltsposten präsentiert wird, der Inhaltsposten keinerlei Kartenmerkmalposten, die auf der Karte auf der Zoom-Ebene präsentiert werden, überschneidet; und
Bestimmen, ob Platzierungsortsdaten als Reaktion auf die Anforderung empfangen werden; und
wenn Platzierungsortsdaten als Reaktion auf die Anforderung empfangen werden, Bereitstellen der Platzierungsortsdaten und des Inhaltspostens für eine Client-Einrichtung, so dass die Client-Einrichtung den Inhaltsposten an dem Platzierungsort auf der Karte präsentieren kann, wenn die Karte auf der Zoom-Ebene präsentiert wird.
- 17. System nach Ausführungsform 16, wobei die Software ferner Anweisungen umfasst, die bei Ausführung bewirken, dass das Verarbeitungssystem Operationen ausführt, umfassend:
wenn bestimmt wird, dass keine Platzierungsortsdaten als Reaktion auf die Anforderung empfangen werden:
Identifizieren von Kartenmerkmalen auf der Basis des Kartenorts und der Zoom-Ebene, wobei jedes Kartenmerkmal einen entsprechenden Kartenmerkmalbereich relativ zu einem Kartenmerkmalort auf der Zoom-Ebene definiert; und
Erzeugen der Platzierungsortsdaten für eine Kartenregion, die den Kartenort umfasst; und
Speichern des Platzierungsorts in dem Platzierungsort-Datenspeicher.