3

我刚刚开始学习 iPhone 的 iOS 开发,并遵循几个关于如何使用 显示 mapView 的示例MapKit Framework,我发现谷歌地图图块没有显示,我只得到一个空视图(灰色图块),至少在iPhone模拟器(我没有在设备上尝试过)。

我也收到此错误消息:

/SourceCache/GoogleMobileMaps_Sim/GoogleMobileMaps-363.1.2/googlenav/mac/Loader.mm:235 服务器返回错误:403

我在为 Android 开发时找到了类似问题的解决方案,但在 iOS 上却没有。有人可以帮我解决这个问题吗?将MapKit框架添加到项目中应该足以使其正常工作,或者我是否遗漏了一些我所遵循的教程中未提及的额外设置?

谢谢!

这是我使用的简单示例代码:

// ViewController.h
#import <UIKit/UIKit.h>
#import <MapKit/MapKit.h>
#import <CoreLocation/CoreLocation.h>

@interface ViewController : UIViewController
@property (strong, nonatomic) IBOutlet MKMapView *mapView;
@end


// ViewController.m
#import "ViewController.h"

@implementation ViewController
@synthesize mapView=_mapView;

- (void)viewDidUnload {
   [super viewDidUnload];
   [self setMapView:nil];
}
... more methods...

在 .xib 文件中,我将 a 连接MKMapView到文件的所有者 mapView 插座。而此时,根据教程,我应该能够在运行模拟器时看到默认的美国地图,但我总是在调试区域收到我之前发布的错误,并且地图视图只显示灰色空网格。

4

8 回答 8

2

我遇到了同样的问题——我UIMapView只显示了网格,而不是实际的地图。我退出了模拟器,然后再次启动了项目——现在它显示了地图!即使您可能已连接到计算机上,iOS 模拟器似乎有时也会断开连接。谢谢大家的意见!

于 2016-01-08T19:20:06.013 回答
1

您是否将委托设置为文件所有者(自己)?您是否还包含了 mapkit 框架和相关的头文件?

于 2012-09-28T10:40:10.753 回答
1

无论出于何种原因,我的 iOS 模拟器有时会失去与 Internet 的连接(我的计算机有连接,但模拟器无法识别它)。一旦我退出并重新启动我的模拟器,我的地图就会开始显示。

于 2015-07-23T18:26:45.037 回答
0

iOS 模拟器附带了官方地图应用程序。打开它并验证它是否可以获取磁贴,这可能是网络问题。没有任何代码、出口、代表或任何东西,地图应该显示地图数据。

于 2012-09-28T21:17:24.117 回答
0

这个问题有点棘手,因为它涉及很多案例,但对我来说,由于网络监控应用程序,它没有加载,例如。Charles,请确保您有互联网连接并且它不受监控

于 2019-12-30T00:25:20.350 回答
0

正如您所描述的那样,我在 iPhone 模拟器和设备上看到的空地图视图(灰色图块)在尝试指定地图区域时(例如,请参见下面的代码),但是用户尚未授予对其在应用程序中位置的访问权限设置。在模拟器上运行时删除这段代码解决了这个问题。

MKCoordinateRegion mapRegion;
mapRegion.center = self.mapView.userLocation.coordinate;
mapRegion.span.latitudeDelta = 0.02;
mapRegion.span.longitudeDelta = 0.02;
[self.mapView setRegion:mapRegion animated: YES];
于 2016-04-21T23:57:17.063 回答
0

万一有人在寻找解决方案。网络问题对此问题负全责。确保您的模拟器具有网络连接,并且如果它能够加载默认的苹果地图,那么您就可以开始了。

于 2019-06-21T05:25:10.087 回答
-1

I solved this problem by connecting to WIFI with my phone. I didn't have a SIM card installed in my phone, so it just showed the tiles. Just make sure you have network connection.

于 2015-02-24T22:38:51.723 回答