默认MkMapView区域

时间:2014-07-24 10:14:59

标签: ios iphone objective-c

请告诉我简单添加到视图时的默认地图位置。 我添加了像这样的mapview

MKMapView *mapView = [[MKMapView alloc] initWithFrame:CGRectMake(0,  self.searchBar.frame.size.height, 320, 180)];

mapView.mapType=MKMapTypeStandard;

mapView.delegate=self; 

[self.view addSubview:mapView];

地图上会显示哪个位置?

这是根据设备坐标还是其他

谢谢

4 个答案:

答案 0 :(得分:6)

完成谷歌搜索并阅读苹果地图文档。

我发现解决方案的默认位置是设置中的国际设备 - > general - > International-> ResionFormat->选择你的国家。

地图将根据此设置进行关注。

答案 1 :(得分:2)

我认为系统会拨打电话,Apple的服务器会返回此信息。

我已经使用模拟器进行了一些测试(额外信息:我在西班牙):

  • 测试1

    1. 关闭互联网访问
    2. iOS模拟器>重置内容和设置
    3. 使用mapview构建并运行应用程序
    4. 开启互联网访问
    5. 地图上的小滚动(仅适用于更改区域并从地图图块下载开始)
    6. 美国正在屏幕上显示
  • 测试2(不关闭互联网)

    1. iOS模拟器>重置内容和设置
    2. 使用mapview构建并运行应用程序
    3. 西班牙正在屏幕上显示

我不认为Apple未经同意就获得了用户位置。它可以是作为操作系统一部分的默认位置IP请求。

答案 2 :(得分:0)

我非常确定它的纬度/长0,0位于非洲海域的某个地方。你认为这是一个错误数量的应用程序中的错误,这些应用程序没有设置lat很长,你最终会看到一张只显示蓝色的地图 - 海洋。

建议你试试吧!

答案 3 :(得分:0)

至少对于iOS8,似乎没有答案是正确的。 Apple没有提供有关mapView默认区域的文档信息,但我相信MapKit会向Apple服务器发出请求以获取当前的国家/地区代码。实际上,如果您尝试关闭Internet连接并使用刚分配的简单映射打开viewcontroller并将其作为子视图添加到主视图中,则调试器将显示以下消息:

无法确定当前国家/地区代码:错误域= GEOErrorDomain代码= 2“无法完成操作。(GEOErrorDomain错误-2。)

有一些未知的东西可以获取当前的国家/地区代码,并将该国家/地区显示为地图视图中的初始区域。这个“当前国家代码”与用户位置无关,因为消息也通过禁用位置服务来显示(除非Apple在没有用户授权的情况下占用用户的位置,这是不可能的)。也许它使用Internet连接的IP地址来进行IP跟踪。我将尝试使用代理进行验证。