当前位置: 首页>>代码示例>>C#>>正文


C# CLLocationCoordinate2D.IsValid方法代码示例

本文整理汇总了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); 
		}
开发者ID:bpug,项目名称:LbkIos,代码行数:48,代码来源:MKMapViewExtensions.cs


注:本文中的CLLocationCoordinate2D.IsValid方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。