Come adattare i limiti per l'array di coordinate con google maps sdk per iOS? Ho bisogno di zoomare la mappa per 4 marker visibili.Come adattare i limiti per l'array di coordinate con google maps sdk per iOS?
risposta
Ecco la mia soluzione per questo problema. Costruire un oggetto GMSCoordinateBounds con più coordinate.
- (void)focusMapToShowAllMarkers
{
CLLocationCoordinate2D myLocation = ((GMSMarker *)_markers.firstObject).position;
GMSCoordinateBounds *bounds = [[GMSCoordinateBounds alloc] initWithCoordinate:myLocation coordinate:myLocation];
for (GMSMarker *marker in _markers)
bounds = [bounds includingCoordinate:marker.position];
[_mapView animateWithCameraUpdate:[GMSCameraUpdate fitBounds:bounds withPadding:15.0f]];
}
Aggiornato risposta: Dal GMSMapView marcatori proprietà è deprecato, si dovrebbe salvare tutti i marcatori nel proprio array.
aggiornato rapida 3 risposta:
func focusMapToShowAllMarkers() {
let firstLocation = (markers.first as GMSMarker).position
var bounds = GMSCoordinateBoundsWithCoordinate(firstLocation, coordinate: firstLocation)
for marker in markers {
bounds = bounds.includingCoordinate(marker.position)
}
let update = GMSCameraUpdate.fitBounds(bounds, withPadding: CGFloat(15))
self.mapView.animate(cameraUpdate: update)
}
funziona bene. Sebbene la proprietà dell'indicatore sia stata deprecata ora. Io invece ho usato le posizioni dei marker che avevo in un array. –
Grazie, ho usato questa ottima soluzione :) ma come ha detto @ManishAhuja, ho usato il mio array GMSMarker memorizzato per costruire i limiti. –
Grazie a @ManishAhuja e AubadaTaijo. Ho aggiornato la risposta. – Lirik
Per ora Google ha finalmente implementato GMSCoordinateBounds, che è possibile utilizzare con GMSCameraUpdate.
Per ulteriori dettagli, consultare lo reference ufficiale.
Swift 3.0 versione di risposta di Lirik:
func focusMapToShowAllMarkers() {
let myLocation: CLLocationCoordinate2D = self.markers.first!.position
var bounds: GMSCoordinateBounds = GMSCoordinateBounds(coordinate: myLocation, coordinate: myLocation)
for marker in self.markers {
bounds = bounds.includingCoordinate(marker.position)
self.mapView.animate(with: GMSCameraUpdate.fit(bounds, withPadding: 15.0))
}
}
Ed ecco la mia strada:
func focusMapToShowMarkers(markers: [GMSMarker]) {
guard let currentUserLocation = self.locationManager.location?.coordinate else {
return
}
var bounds: GMSCoordinateBounds = GMSCoordinateBounds(coordinate: currentUserLocation,
coordinate: currentUserLocation)
_ = markers.map {
bounds = bounds.includingCoordinate($0.position)
self.mapView.animate(with: GMSCameraUpdate.fit(bounds, withPadding: 15.0))
}
}
e si può chiamare il mio funzione sopra in questo modo:
self.focusMapToShowMarkers(markers: [self.myLocationMarker, currentPokemonMarker])
- 1. GMSCoordinateBounds Comprese le coordinate non funzionanti correttamente in Google Maps SDK per iOS
- 2. Imposta i limiti di Google Maps con angular-google-maps
- 3. Indicatore trascinabile con Google Maps SDK per iOS
- 4. Scorrimento uniforme su Google Maps SDK per iOS
- 5. Modalità notte SDK iOS di Google Maps
- 6. iOS google maps posizionamento sdk GMSMarker
- 7. Google Maps SDK per iOS: come ottenere precise coordinate di latitudine e longitudine dalla Visione visibile di una telecamera?
- 8. Mappa Blocca su iOS 7 con Google Maps 1.4 SDK
- 9. SDK iOS di Google Maps - Ricerca di posti
- 10. Come ottenere CGPoint della posizione con google maps sdk per iOS?
- 11. Google Maps SDK per iOS: distanza tra i punti est e ovest sulla mappa
- 12. Il sdk di google maps per iOS consente la memorizzazione nella cache per l'utilizzo offline?
- 13. SDK iOS di Google Maps - Aggiungi UIView/UIButton su GMSMapView
- 14. Limiti di utilizzo per i servizi utilizzati con l'API Javascript di Google Maps v3
- 15. SDK iOS di Google Maps, Impossibile ascoltare GMSMarker tocca l'evento
- 16. Punto posizione su Google Maps iOS SDK visualizzato come quadrato
- 17. I pedaggi per Google Maps?
- 18. API JS per Google Maps v3 Animazione marker tra coordinate
- 19. Limiti del paese utilizzando l'API di Google Maps v3
- 20. Google Maps iOS SDK Integrazione non caricamento mappe
- 21. Come forzare il contenuto di aggiornamento del markerInfoWindow in Google Maps per iOS SDK
- 22. Come posso intercettare tocchi su un marker in Google Maps SDK per iOS?
- 23. Come implementare l'SDK di Google Maps per iOS
- 24. Ottimizzazione delle prestazioni delle immagini degli indicatori personalizzati con Google Maps SDK per iOS
- 25. Cambia zoom videocamera basato su Radius Google Maps iOS SDK
- 26. iOS 8 Google Maps SDK myLocation icon bubble glitch grafico
- 27. Google Maps iOS SDK incidente occasionale quando si distrugge GMSMapView
- 28. fitbounds() in Google maps api V3 non combacia con i limiti
- 29. Rimuovi i marker da google maps iOS
- 30. Google Maps per iOS: come si può sapere se un marker si trova entro i limiti dello schermo?
ho risposto alla tua domanda simile qui: http://stackoverflow.com/questions/15040409/how-to-setregion-with-google-maps-sdk-for-ios –