mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-12-22 22:25:57 +00:00
Various improvements
This commit is contained in:
@@ -168,7 +168,7 @@ final class LocationMapNode: ASDisplayNode, MKMapViewDelegate {
|
||||
context.setAlpha(alpha)
|
||||
|
||||
let path = UIBezierPath(rect: CGRect(x: mapRect.origin.x, y: mapRect.origin.y, width: mapRect.size.width, height: mapRect.size.height))
|
||||
let radiusInMap = overlay.radius * MKMapPointsPerMeterAtLatitude(overlay.coordinate.latitude)
|
||||
let radiusInMap = overlay.radius * MKMapPointsPerMeterAtLatitude(overlay.coordinate.latitude) * 2.0
|
||||
let mapSize: MKMapSize = MKMapSize(width: radiusInMap, height: radiusInMap)
|
||||
let regionOrigin = MKMapPoint(overlay.coordinate)
|
||||
var regionRect: MKMapRect = MKMapRect(origin: regionOrigin, size: mapSize)
|
||||
@@ -724,15 +724,21 @@ final class LocationMapNode: ASDisplayNode, MKMapViewDelegate {
|
||||
}
|
||||
annotations.append(contentsOf: self.annotations)
|
||||
|
||||
var zoomRect: MKMapRect = MKMapRect()
|
||||
var zoomRect: MKMapRect?
|
||||
for annotation in annotations {
|
||||
let pointRegionRect = MKMapRect(region: MKCoordinateRegion(center: annotation.coordinate, latitudinalMeters: 100, longitudinalMeters: 100))
|
||||
zoomRect = zoomRect.union(pointRegionRect)
|
||||
if let currentZoomRect = zoomRect {
|
||||
zoomRect = currentZoomRect.union(pointRegionRect)
|
||||
} else {
|
||||
zoomRect = pointRegionRect
|
||||
}
|
||||
}
|
||||
|
||||
let insets = UIEdgeInsets()
|
||||
zoomRect = mapView.mapRectThatFits(zoomRect, edgePadding: insets)
|
||||
mapView.setVisibleMapRect(zoomRect, animated: animated)
|
||||
if let zoomRect = zoomRect {
|
||||
let insets = UIEdgeInsets(top: 0.0, left: 80.0, bottom: 0.0, right: 80.0)
|
||||
let fittedZoomRect = mapView.mapRectThatFits(zoomRect, edgePadding: insets)
|
||||
mapView.setVisibleMapRect(fittedZoomRect, animated: animated)
|
||||
}
|
||||
}
|
||||
|
||||
func updateLayout(size: CGSize) {
|
||||
|
||||
Reference in New Issue
Block a user