请告诉我简单添加到视图时的默认地图位置。 我添加了像这样的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];
地图上会显示哪个位置?
这是根据设备坐标还是其他
谢谢
答案 0 :(得分:6)
完成谷歌搜索并阅读苹果地图文档。
我发现解决方案的默认位置是设置中的国际设备 - > general - > International-> ResionFormat->选择你的国家。
地图将根据此设置进行关注。
答案 1 :(得分:2)
我认为系统会拨打电话,Apple的服务器会返回此信息。
我已经使用模拟器进行了一些测试(额外信息:我在西班牙):
测试1
测试2(不关闭互联网)
我不认为Apple未经同意就获得了用户位置。它可以是作为操作系统一部分的默认位置IP请求。
答案 2 :(得分:0)
我非常确定它的纬度/长0,0位于非洲海域的某个地方。你认为这是一个错误数量的应用程序中的错误,这些应用程序没有设置lat很长,你最终会看到一张只显示蓝色的地图 - 海洋。
建议你试试吧!
答案 3 :(得分:0)
至少对于iOS8,似乎没有答案是正确的。 Apple没有提供有关mapView默认区域的文档信息,但我相信MapKit会向Apple服务器发出请求以获取当前的国家/地区代码。实际上,如果您尝试关闭Internet连接并使用刚分配的简单映射打开viewcontroller并将其作为子视图添加到主视图中,则调试器将显示以下消息:
无法确定当前国家/地区代码:错误域= GEOErrorDomain代码= 2“无法完成操作。(GEOErrorDomain错误-2。)
有一些未知的东西可以获取当前的国家/地区代码,并将该国家/地区显示为地图视图中的初始区域。这个“当前国家代码”与用户位置无关,因为消息也通过禁用位置服务来显示(除非Apple在没有用户授权的情况下占用用户的位置,这是不可能的)。也许它使用Internet连接的IP地址来进行IP跟踪。我将尝试使用代理进行验证。