Google Maps, Fusionstabellen und Marker

9

Ich habe überall in der Dokumentation gesucht, um zu erklären, wie ich nur Marker für einen bestimmten Bereich einer Fusionstabelle anzeigen kann.

Im Moment erscheinen alle Markierungen auf der Karte wie folgt:

Fusion Table Google Maps

JSFiddle (beachten Sie, dass jsfiddle die URL nicht von der Website lädt, so dass die Marker nicht angezeigt werden)

Wenn Sie auf einen Bereich der Fusionstabelle / Google Map klicken, bekomme ich wie erwartet den Gebietsnamen in einem Popup, möchte jedoch zunächst keine der Marker anzeigen. Wenn ein Bereich der Fusionstabelle / Map angeklickt wird, möchte ich nur die Marker für diesen bestimmten Bereich anzeigen, nicht die gesamte Map.

So füge ich die Markierungen aus meiner Web-API in die Karte ein:

%Vor%

Ich habe in der Dokumentation eine where -Anweisung gesehen, die den Fusionstabellen hinzugefügt werden kann. Wie so:

%Vor%

Allerdings sind die Daten aus der Web-API nicht in bestimmte Bereiche unterteilt, sondern lediglich eine lange Liste von Breiten- und Längengraden. Wie so:

%Vor%

Hat Google etwas mit der Mischung der Geometrie der Fusionstabelle mit Koordinaten zu tun? Eine einfache Möglichkeit, alle Marker für einen bestimmten Bereich anzuzeigen? Oder kann jemand darüber nachdenken, wie das gemacht werden könnte?

Einige zusätzliche Details über das Webapi, falls es benötigt wird:

%Vor%     
Garrith Graham 23.07.2016, 19:28
quelle

1 Antwort

3

Leider gibt es in FusionTablesLayer keine Funktion containsLocation.

Eine Lösung besteht darin, ein Google Maps-Polygon aus dem FusionTablesLayer zu erstellen, sodass wir containsLocation verwenden können, um zu bestimmen, ob der Marker zur Karte hinzugefügt werden soll oder nicht.

Zuerst benötigen wir die Koordinaten, um das Polygon zu erstellen. Wir können google.visualization.Query verwenden, um die Koordinaten des ausgewählten Bereichs aus der Fusionstabelle zu übernehmen:

%Vor%

Dann durchlaufen wir einfach die Berge und prüfen, ob der ausgewählte Bereich den Berg enthält:

%Vor%

Hier ist die JSON-Version:

%Vor%

Hier ist die Fiddle - XML ​​

Hier ist die Geige - JSON

Und so könnte die JSON-API aussehen

    
Chris 27.07.2016, 02:30
quelle