Frage

In iOS können Sie problemlos einen Callout für Ihre Marker einstellen, indem Sie anrufen:

generasacodicetagpre.

Aber ich kann diese Funktionalität nicht für die MapBox Android SDK finden.Ich habe jetzt einen Zuhörer, der auf den CalloutView erkennt, aber wie kann ich ein Callout-Image / -taste setzen?

generasacodicetagpre.

War es hilfreich?

Lösung

Ryanshs hervorragende Antwort, dass ich Textviews mit IDS Tooltip_Title und Tooltip_Description in das benutzerdefinierte Layout integriere.Ich musste auch einen TEXTIP_sBDescription-TextView hinzufügen.Der Standard-Infowindow-Code geht davon aus, dass diese Ansichten vorhanden sind und stürzt, wenn sie dies nicht tun.Für mehr Kontrolle habe ich Infowindow erweitert, Onofen überrß, und konnte ein beliebiges Layout verwenden, das ich für den Tooltip wollte.Für den überschriebenen CreateTooltip in der ausgedehnten Markerklasse habe ich natürlich mein erweitertes Infowindow-Objekt instanziiert und zurückgegeben.

update.Hier ist ein Beispiel, um den Marker & Infowindow zu erweitern, um benutzerdefinierte Tooltip zu unterstützen:

generasacodicetagpre.

Andere Tipps

Sie müssen diese Funktionalität selbst erstellen, aber es ist eigentlich ziemlich einfach zu erfüllen, indem Sie ein benutzerdefiniertes Markierungs- und Tooltip-Layout definieren.

Beginnen Sie mit der Definition Ihres Tooltip-Layouts. Es muss ein Relativelayout sein, der offensichtlich das Callout-Bild positioniert. Stellen Sie Ihren Kontext auf die Aktivität, die die Marker erstellt. Die TipView unten muss aufgenommen werden, da er die Dimensionierung des benutzerdefinierten Tooltips steuert.

generasacodicetagpre.

Erstellen Sie dann eine benutzerdefinierte Markierungsklasse und überschreiben Sie die CreateToolTip-Methode, um ein Infowindow mit dem neuen Layout zurückzugeben:

generasacodicetagpre.

Dies sollte keine anderen Funktionalität ändern, sodass der Code, den Sie haben, noch funktionieren. Ändern Sie einfach den Marker auf den benutzerdefinierten Klassennamen und Sie sollten eingestellt sein.

edit: Hier ist der Code, der tatsächlich den Custommarker und den Infowindow mit meiner Karte einsetzt. Sie können sehen, dass ich eine andere Aktivität zum Klicken der Klicke starte, und dass ich ein benutzerdefiniertes Symbol für den Marker festgelegt habe, aber das Zeug ist nicht erforderlich:

generasacodicetagpre.

Ich verwende auch SDK 0.5.0-Snapshot. Ich bin nicht sicher, ob dies an älteren Versionen des SDK funktioniert.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top