我有一个问题.我的当前位置以地图视图显示并居中,但地图区域不会放大.我尝试通过从didUpdateToLocation方法中取出span和region来获取Rob的建议,但我必须没有正确实现它.我不认为它在viewDidLoad中识别我对setRegion的调用,并且我的按钮无法被识别.请检查下面的代码,并指出错误.我的目标是使用IBAction按钮放大和缩小我的位置.
.H
- (IBAction)zoomIn:(id)sender;
- (IBAction)zoomOut:(id)sender;
Run Code Online (Sandbox Code Playgroud)
.m在viewDidLoad中
double miles = 0.5;
MKCoordinateSpan span;
span.latitudeDelta = miles/69.0;
span.longitudeDelta = miles/69.0;
MKCoordinateRegion region;
region.span = span;
[self.mapView setRegion:region animated:YES];
[self.mapView setUserTrackingMode:MKUserTrackingModeFollow animated:YES];
_mapView.mapType = MKMapTypeSatellite;
Run Code Online (Sandbox Code Playgroud)
.m在我的didUpdateToLocation方法中.
[self.mapView setCenterCoordinate:newLocation.coordinate animated:YES];
Run Code Online (Sandbox Code Playgroud)
.放大:
- (IBAction)zoomIn:(id)sender
{
MKCoordinateSpan span;
span.latitudeDelta = _mapView.region.span.latitudeDelta * 2;
span.longitudeDelta = _mapView.region.span.latitudeDelta * 2;
MKCoordinateRegion region;
region.span = span;
region.center = _mapView.region.center;
[self.mapView setRegion:region animated:YES];
}
Run Code Online (Sandbox Code Playgroud)
.缩小 :
- (IBAction)zoomOut:(id)sender
{
MKCoordinateSpan span;
span.latitudeDelta = _mapView.region.span.latitudeDelta / 2;
span.longitudeDelta = _mapView.region.span.latitudeDelta …Run Code Online (Sandbox Code Playgroud) 我目前有一个自定义格式的int值并显示在标签中.int值总是一个5位数字,我在十分之一到百分之一的位置显示一个+符号.如果number = 12345,则displayNumber = 123 + 45.
ViewController.m
int high = number / 100;
int low = number - (high * 100);
NSString *displayNumber = [NSString stringWithFormat:@"%d+%d", high, low];
Run Code Online (Sandbox Code Playgroud)
我的问题是当数字在十分位数时为零.如果number = 12304,displayNumber将显示为123 + 4,我希望它显示为123 + 04.我尝试使用低于10的if语句,但这与我的其余代码并不完全兼容.是否有任何简单的方法可以使低显示两位数,即使它是一位数?提前谢谢您的时间.
我创建了一个iPhone应用程序,它有一个位置字典数组(lat,long,point).我通过手动输入每个值来创建数组.
myLocationArray = @[
@{
kStation : @"1",
kLatitude : @( 41.656467),
kLongitude : @(-81.277963)
},
@{
kStation : @"2",
kLatitude : @(41.657118),
kLongitude : @(-81.276545)
},
@{
kStation : @"3",
kLatitude : @(41.658493),
kLongitude : @(-81.273542)
},
...
Run Code Online (Sandbox Code Playgroud)
这很好,但现在我想通过从.CSV文件获取数据以编程方式创建此数组.我有一个.CSV文件(TestCSV.csv),看起来像这样.
41.656467,-81.277963,27200
41.657118,-81.276545,27650
41.658493,-81.273542,28631.5
41.660728,-81.268547,30195
41.661830,-81.266065,30991
41.662828,-81.263819,31700
41.663677,-81.261962,32300
41.664578,-81.259909,32950
41.666210,-81.256312,34100
41.666921,-81.254708,34605
41.668043,-81.252191,35400
41.669044,-81.250043,36099
41.670120,-81.247495,36900
41.670778,-81.245957,37380
41.671459,-81.244292,37905
41.672028,-81.242832,38349
41.672487,-81.241702,38700
41.673106,-81.240175,39175
41.674364,-81.237007,40150
41.675170,-81.235038,40762.5
41.675716,-81.233698,41182
41.676143,-81.232614,41516
Run Code Online (Sandbox Code Playgroud)
具体来说,我想通过直接从TestCSV.csv中读取来创建myLocationArray(如图所示的格式).我不熟悉实现这一目标的代码,并且非常欣赏某些方向.
此外,如果数据是通过文本文件而不是csv提供的,那会有任何不同或更容易吗?