Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/104.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
谷歌地图动画摄影定位iOS7问题_Ios_Objective C_Google Maps_Google Maps Sdk Ios - Fatal编程技术网

谷歌地图动画摄影定位iOS7问题

谷歌地图动画摄影定位iOS7问题,ios,objective-c,google-maps,google-maps-sdk-ios,Ios,Objective C,Google Maps,Google Maps Sdk Ios,我正在尝试将Google Maps API安装到iOS7的应用程序中。在遵循谷歌的指导方针和视频之后,我最终出现了以下错误:[GMSMapView animateToCameraPosition:]:无法识别的选择器发送到实例0x10b98e6c0 我正在使用故事板,并试图使此地图显示在同一viewController中的TableView上方 在这个应用程序中,我使用Parse,它将数据提取到我的TableView中,工作正常 我尝试使用在StackOverflow上找到的几个建议,但问题仍然

我正在尝试将Google Maps API安装到iOS7的应用程序中。在遵循谷歌的指导方针和视频之后,我最终出现了以下错误:
[GMSMapView animateToCameraPosition:]:无法识别的选择器发送到实例0x10b98e6c0

我正在使用故事板,并试图使此地图显示在同一viewController中的TableView上方

在这个应用程序中,我使用Parse,它将数据提取到我的TableView中,工作正常

我尝试使用在StackOverflow上找到的几个建议,但问题仍然存在:

显然,问题与此方法有关:

mapView_=[GMSMapView mapWithFrame:CGRectZero摄像机:摄像机];
当我擦除它时,错误就消失了

我的TestViewController编码如下(没有表格或任何东西,但仍不工作):

//TesteViewController.m
//
#导入“TesteViewController.h”
#进口
#导入“AppDelegate.h”
@接口测试视图控制器()
@结束
@实现测试视图控制器{
GMSMapView*地图视图;
}
-(id)initWithNibName:(NSString*)nibNameOrNil bundle:(NSBundle*)nibBundleOrNil
{
self=[super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
如果(自我){
//自定义初始化
}
回归自我;
}
-(无效)viewDidLoad
{
[超级视图下载];
//加载视图后执行任何其他设置。
//创建一个GMSCameraPosition,告诉地图显示
GMSCameraPosition*摄像机=[GMSCameraPosition摄像机拍摄时的纬度:-33.86
经度:151.20
缩放:6];
地图视图=[GMSMapView地图WithFrame:CGRectZero相机:相机];
mapView_u2;.myLocationEnabled=是;
self.view=mapView;
//在地图的中心创建一个标记。
GMSMarker*标记=[[GMSMarker alloc]init];
marker.position=CLLocationCoordinate2DMake(-33.86151.20);
marker.title=@“悉尼”;
marker.snippet=@“澳大利亚”;
marker.map=mapView;
}
-(无效)未收到记忆警告
{
[超级记忆警告];
//处置所有可以重新创建的资源。
}
@结束
我还按照建议导入了所有框架,并将
-ObjC
放入了我的
其他LinkerFlags
,但没有成功

除此之外,我在一个新的空白项目中测试了我正在使用的流程,它工作得很好,但是,当我尝试添加一个空白的
viewController
作为对原始项目的测试时,它不起作用

我做的另一个测试是,在这个空白的
viewController
中添加一个视图,然后尝试上面我发布的StackOverflow参考资料中所述的内容

有人对正在发生的事情有什么建议吗

可能与Parse的框架或其他库发生冲突


我没有使用
-ObjC
而是尝试了
-force_load$(PROJECT_DIR)/GoogleMaps.framework/GoogleMaps
,错误消失了,它要求我允许我的当前位置,但屏幕没有加载。

你要做的是在“项目”构建设置中添加-ObjC标志,而不是“目标”的构建设置

正如谷歌文档的下一节所述

**" Choose your project, rather than a specific target, and open the
    Build Settings tab. In the Other Linker Flags section, add -ObjC. If
    these settings are not visible, change the filter in the Build
    Settings bar from Basic to All. "**

通过这种方式,我可以解决Google Maps animateToCameraPosition问题。

不要在viewDidLoad中设置视图!这就是loadView的工作。因此,将地图视图创建代码移到loadView方法。@phix23尝试使用loadView,但得到相同的错误。此外,我尝试将其移动到viewWillLayoutSubviews方法,错误消失,但我只得到了一个黑色视图。您将导致崩溃的代码放在何处?例如,
[GMSMapView animateToCameraPosition::
?@Adam我尝试了这两种方法,viewDidLoad和loadView,如phix23所示。有趣的是,当我放置
-force\u load$(PROJECT\u DIR)/GoogleMaps.framework/GoogleMaps
时,崩溃消失了,它询问我的当前位置,但不加载我的视图。它会一直加载,直到出现内存崩溃。不要将
self.view
替换为
mapView
——而是将
mapView
作为子视图添加到
self.view