2016-08-09 41 views
2

我对此主题进行了相当研究,但似乎无法理解/找到有关我的问题的足够信息。适用于iOS地图应用程序的后端架构

我是一个小软件公司的新手,刚刚有一个项目需要编写技术要求规范。

我们正在开发一个iOS地图应用程序,用户可以根据城市创建地图,用户可以在其中添加兴趣点,并将图片与描述等一起添加到这些地图。用户可以与其他用户分享给定城市的旅行体验。

我的问题是,我需要描述整个系统架构,并决定如何组成后端解决方案。我没有系统架构的经验。

我已经看过Microsoft Azure可以在https://azure.microsoft.com/en-us/pricing/details/app-service/,特别是标准S1计划选项。但是我不知道如果这个解决方案是足够的,如果该应用的用户群将是,比方说,20.000个用户?并且是否包含在这个NoSQL数据库中?

我很抱歉,如果存在类似的问题,我已经忽略了!

希望任何人都可以用一些总体建议凑钱

干杯!

回答

0
- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    mapView = [[MKMapView alloc]initWithFrame: 
     CGRectMake(10, 100, 300, 300)]; 
     mapView.delegate = self; 
     mapView.centerCoordinate = CLLocationCoordinate2DMake(37.32, -122.03); 
     mapView.mapType = MKMapTypeHybrid; 
     CLLocationCoordinate2D location; 
     location.latitude = (double) 37.332768; 
     location.longitude = (double) -122.030039; 
     // Add the annotation to our map view 
     MapAnnotation *newAnnotation = [[MapAnnotation alloc] 
     initWithTitle:@"Apple Head quaters" andCoordinate:location]; 
     [mapView addAnnotation:newAnnotation]; 
     CLLocationCoordinate2D location2; 
     location2.latitude = (double) 37.35239; 
     location2.longitude = (double) -122.025919; 
     MapAnnotation *newAnnotation2 = [[MapAnnotation alloc] 
     initWithTitle:@"Test annotation" andCoordinate:location2]; 
     [mapView addAnnotation:newAnnotation2]; 
     [self.view addSubview:mapView]; 

} 


// When a map annotation point is added, zoom to it (1500 range) 
- (void)mapView:(MKMapView *)mv didAddAnnotationViews:(NSArray *)views 
{ 
    MKAnnotationView *annotationView = [views objectAtIndex:0]; 
    id <MKAnnotation> mp = [annotationView annotation]; 
    MKCoordinateRegion region = MKCoordinateRegionMakeWithDistance 
    ([mp coordinate], 1500, 1500); 
    [mv setRegion:region animated:YES]; 
    [mv selectAnnotation:mp animated:YES]; 
} 

你可以根据你 注编辑:你需要实现弹出(自定义)。

+0

谢谢你的回答。但是,我不太确定这是否会回答我的问题,这个问题可能有些宽泛,也许含糊不清。我更多地寻求关于链接解决方案是否足够以及是否可以使用NoSQL数据库的建议。或者如果另一种解决方案会更好。 – masterp

1

应用服务仅提供虚拟主机功能。这是一个相当广泛的功能,并包含大量的缩放功能。它可以扩展(如果您编写的后端是无状态的,则可以运行多个副本),并具有您需要的所有DevOps需求。

对于基本的后端,您将要添加其他功能。 DocumentDb或Azure表存储都提供NoSQL功能,不同之处在于延迟,查询能力和弹性。您还可以选择SQL数据库,blob存储或将自己的数据库或第三方数据库放入架构中。

系统架构过于宽泛而模糊,没有真正的要求。询问一个具体的解决方案是否适合这种广泛和模糊的解决方案在这里并不合适。

相关问题