2017-09-05 2 views
0

Ich entwickle eine App, wo ich Google Maps verwende. Ich möchte einen Markierungsstift haben, der in der Mitte des Bildschirms stabil ist, und wenn ich die Karte bewege, sollte der Stift nicht bewegt werden.Move Google Map aber nicht die Markierung wie Uber

Wenn ich die Karte verlasse, möchte ich die Adresse von der Karte, wo die steady Marker ID gehalten wird.

Jede Hilfe wird

+0

brauchen, was Sie bisher versucht haben? –

Antwort

2

Sie diese Dinge in die verwenden können

mapView.delegate = self; 


func mapView(_ mapView: GMSMapView, idleAt position: GMSCameraPosition) { 
    let coordinate = mapView.projection.coordinate(for: markerView.center) 
    print("latitude " + "\(coordinate.latitude)" + " longitude " + "\(coordinate.longitude)") 
} 

Jetzt müssen Sie nur ein Imageview auf Ihre mapview hinzufügen Zentrum und es wird genauso funktionieren wie Uber.

Denken Sie daran, dass die Höhe des Stiftsymbols verdoppelt werden sollte.

können Sie auf dieses Symbol verwenden, wenn Sie Pin Image

+0

Danke das funktionierte perfekt wie ich wollte –

0

geschätzt werden Sie könnten eine Bildschicht über der Kartenansicht hinzufügen, um das Bild des Stiftes enthält, auf die Mitte des Bildschirms zeigt. Wenn der Benutzer die Karte verlässt, wählen Sie den Ort in der Mitte des Bildschirms aus.

0

Fixieren Sie Ihre Markeransicht in der Mitte in Ihrer Ansicht.

Fügen Sie GMSMapview in Ihrer Ansicht von oben hinzu.

Setzen Sie den Delegaten auf Ihre Kartenansicht.

GMap.delegate = self; // Add delegate - GMSMapViewDelegate to your viewcontroller 

Um festzustellen, ob der Benutzer die Karte gezogen:

func mapView(_ mapView: GMSMapView, idleAt position: GMSCameraPosition) { 
     let coo = GMap.projection.coordinate(for: markerView.center) 
     selectedLocation = CLLocation(latitude: coo.latitude, longitude: coo.longitude) 
     getAddress() //get address of your selected location 
    } 
+0

Was ist GMap hier: - Lassen Sie coo = GMap.projection.coordinate (für: markerView.center) –

+0

GMap ist eine Instanz von GMSMapView. Ersetzen Sie es mit Ihrem Mapview –

Verwandte Themen