Personnalisé Fenêtre d'informations pour Google Maps
Je voudrais faire un custom Fenêtre d'informations de Google Maps pour iOS comme sur la photo ci-dessous. Est-il possible de prolonger GMSOverlay comme GMSMarker, GMSPolyline, et GMSPolygon faire pour créer des graphiques personnalisés?
- Personnalisé fenêtre info (=fenêtre sur la souris) OU marqueur personnalisé (==toujours là)?
- kevinxh.github.io/swift/... ce blog explique comment résoudre ce problème.
- Veuillez cocher la accepté de répondre.
Vous devez vous connecter pour publier un commentaire.
Pour ceux qui cherche à ajouter des boutons pour un affichage personnalisé représentant la fenêtre info - il semble être impossible de le faire, parce que les Cartes de Google SDK dessine comme une image ou quelque chose comme ça. Mais il y a un solution simple:
Votre vue personnalisée a peut-être de le changer de position en suivant la position de la caméra, de sorte que vous avez à gérer mapView(mapView: GMSMapView, didChangeCameraPosition position: GMSCameraPosition) où vous pouvez facilement mettre à jour votre affichage personnalisé position.
POIItem
Vous souhaitez utiliser les
markerInfoWindow
délégué méthode avec réglage de lainfoWindowAnchor
.Lorsque vous créez votre marqueur, placez le point d'ancrage:
puis créer le délégué de la méthode:
Dans l'exemple ci-dessus, j'ai créé un xib
et j'ai chargé que xib, retour de l'résultant
UIView
. Vous pourriez construire unUIView
en utilisant simplement le code.Vous pouvez passer ce type de UIImage comme icône comme ci-dessous
Pour plus de détails voir cette Documentation.
Si vous voulez ce type d'image après marqueur pressé que vous devez avoir deux type d'images d'un seul endroit.
1ère image icône de marque uniquement.
2ème image est marqueur de lieu détail.
marqueur de l'icône de chargement lorsque mapView initialiser comme le code ci-dessus.
Et la Deuxième Image marqueur de lieu détail que vous avez à charge comme à l'intérieur de marqueur pressé
delegate
méthode à l'aide deFor-Loop
etNSMutablearray
en cochantmarker.title
de savoir qui repère est pressé.Swift version, exemple version de marqueur de classe personnalisée:
Grâce à Comment initialiser une UIView Classe avec un xib fichier à Swift, iOS vous pouvez ajouter une extension à UIView de sorte que vous n'avez pas besoin de cast
Et dans votre délégué: