本文整理汇总了C#中CLLocationCoordinate2D.IsValid方法的典型用法代码示例。如果您正苦于以下问题:C# CLLocationCoordinate2D.IsValid方法的具体用法?C# CLLocationCoordinate2D.IsValid怎么用?C# CLLocationCoordinate2D.IsValid使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CLLocationCoordinate2D
的用法示例。
在下文中一共展示了CLLocationCoordinate2D.IsValid方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ZoomToFitMapAnnotations
private static void ZoomToFitMapAnnotations (this MKMapView source, bool useUserLocation, CLLocationCoordinate2D userCoordinate)
{
if (source.Annotations.Count () == 0)
return;
CLLocationCoordinate2D topLeftCoord;
topLeftCoord.Latitude = -90;
topLeftCoord.Longitude = 180;
CLLocationCoordinate2D bottomRightCoord;
bottomRightCoord.Latitude = 90;
bottomRightCoord.Longitude = -180;
if (useUserLocation == true) {
if (source.UserLocationVisible == true) {
userCoordinate = source.UserLocation.Coordinate;
}
if (userCoordinate.IsValid ()) {
topLeftCoord.Longitude = Math.Min (topLeftCoord.Longitude, userCoordinate.Longitude);
topLeftCoord.Latitude = Math.Max (topLeftCoord.Latitude, userCoordinate.Latitude);
bottomRightCoord.Longitude = Math.Max (bottomRightCoord.Longitude, userCoordinate.Longitude);
bottomRightCoord.Latitude = Math.Min (bottomRightCoord.Latitude, userCoordinate.Latitude);
}
}
foreach (var ann in source.Annotations) {
var annotation = ann as MKAnnotation;
if (annotation != null ) {
topLeftCoord.Longitude = Math.Min (topLeftCoord.Longitude, annotation.Coordinate.Longitude);
topLeftCoord.Latitude = Math.Max (topLeftCoord.Latitude, annotation.Coordinate.Latitude);
bottomRightCoord.Longitude = Math.Max (bottomRightCoord.Longitude, annotation.Coordinate.Longitude);
bottomRightCoord.Latitude = Math.Min (bottomRightCoord.Latitude, annotation.Coordinate.Latitude);
}
}
MKCoordinateRegion region;
region.Center.Latitude = topLeftCoord.Latitude - (topLeftCoord.Latitude - bottomRightCoord.Latitude) * 0.5;
region.Center.Longitude = topLeftCoord.Longitude + (bottomRightCoord.Longitude - topLeftCoord.Longitude) * 0.5;
region.Span.LatitudeDelta = Math.Abs (topLeftCoord.Latitude - bottomRightCoord.Latitude) * 1.175; // Add a little extra space on the sides
region.Span.LongitudeDelta = Math.Abs (bottomRightCoord.Longitude - topLeftCoord.Longitude) * 1.175; // Add a little extra space on the sides
region = source.RegionThatFits (region);
source.SetRegion (region, true);
}