相关疑难解决方法(0)

如何将由NE和SW坐标组成的特定边界拟合到可见地图视图中?

我需要在地图中适应某些边界.我得到了调用谷歌地理编码器和阅读视口属性的界限,如下所示:

{
    northeast =     {
        lat = "30.4212235";
        lng = "-97.486942";
    };
    southwest =     {
        lat = "30.1128403";
        lng = "-97.99917959999999";
    };
}
Run Code Online (Sandbox Code Playgroud)

然后我将它们转换为CLLocationCoordinate2D

NSDictionary *viewport = [[[results objectAtIndex:0] objectForKey:@"geometry"] 
                                                     objectForKey:@"viewport"];
NSDictionary *NEDictionary = [viewport objectForKey:@"northeast"];
NSDictionary *SWDictionary = [viewport objectForKey:@"southwest"];

CLLocationCoordinate2D SWCoordinate = 
    CLLocationCoordinate2DMake(
        [[SWDictionary objectForKey:@"lat"] floatValue], 
        [[SWDictionary objectForKey:@"lng"] floatValue]
    );
CLLocationCoordinate2D NECoordinate = 
    CLLocationCoordinate2DMake(
        [[NEDictionary objectForKey:@"lat"] floatValue], 
        [[NEDictionary objectForKey:@"lng"] floatValue]
    );    
Run Code Online (Sandbox Code Playgroud)

我知道我需要从这些坐标生成MKMapRect(或MKMapRegion,哪个更容易)然后[mapView setVisibleRect:newRect animated:YES](或[mapView setRegion:newRegion animated:YES]但我不太确定如何到达那里.我需要一种方法将边界转换为适当的数据结构,如:

- (MKMapRect) mapRectThatFitsBoundsSW:(CLLocationCoordinate2D)sw 
                                   NE:(CLLocationCoordinate2D)ne {
    // CGFloat x = ??
    // CGFloat …
Run Code Online (Sandbox Code Playgroud)

mapkit mkmapview ios

5
推荐指数
2
解决办法
4541
查看次数

标签 统计

ios ×1

mapkit ×1

mkmapview ×1