2017-04-04 1 views
0

Ich entwickle eine iOS-App, die Google Maps verwendet. Ich möchte, dass der Marker beim Ziehen der Karte oder Ändern der Kameraposition in der Mitte des Bildschirms bleibt. Ich habe den folgenden Code implementiert. Er behält den Marker in der Mitte des Bildschirms, aber Marker bewegt sich, wenn wir die Karte und die Neupositionierungen in die Mitte ziehen. Ich möchte, dass es in der Mitte des Bildschirms bleibt, ohne es zu bewegen.Ich möchte Google Maps Marker in der Mitte der Karte bleiben, während Kameraposition iOS SDK ändern kann

- (void)mapView:(GMSMapView *)pMapView didChangeCameraPosition:(GMSCameraPosition *)position { 

    /* move draggable pin */ 
    if (movingMarker) { 
     CLLocationCoordinate2D location = pMapView.camera.target; 
     [movingMarker setPosition:location]; 
     return; 
    } 
} 

Vielen Dank im Voraus!

Antwort

1

Lösung ist einfach! Platzieren Sie die Bildansicht einfach über der Kartenansicht, stellen Sie die Bildansicht auf die gleiche Größe ein (setzen Sie die gleichen Einschränkungen oder Autoresizing), und setzen Sie Ihr Pin-Bild auf die Bildansicht, setzen Sie .centercontentMode auf Bildansicht. Das ist es! Sie müssen der Kartenansicht selbst keine Markierung hinzufügen. Wenn Sie eine Pin-Koordinate (Kartenansichtsmitte) erhalten möchten, verwenden Sie mapView.projection.coordinate(for: CGPoint) von Google Maps, wo Sie den Mittelpunkt der Kartenansicht übergeben müssen. Viel Glück!

+0

Danke, es hat funktioniert. Ich muss die Bildansicht an die Spitze der Kartenansicht bringen, da die Kartenansicht verschwindet, wenn sie geladen wird. –

+0

Happy to help :) –

Verwandte Themen