一、申请一个免费的API KEY
要使用GoogleMaps SDK,必须要为你的应用申请一个API KEY,API Key可以让你监视你的应用调用api的情况。api key是免费的,你可以在任何调用Map api的应用中使用,你可以通过在Google APIs Console上提供你应用的包标识(bundle identifier)来获得一个api key,有了api key后,你要把它加到AppDelegate中,下面会讲到。

获取api key的具体步骤:

1、在Google APIs Console上创建一个api工程

2、在打开的api工程页面中选中左边的Services面板,将里面的Google Maps SDK for iOS项的开关打开

3、再选择API Access面板,点击Create new ios key

4、输入一个或多个bundle identifier(每行一个)

5、点击Create创建

6、在页面中找到Key for iOS apps (with bundle identifiers),可以复制里面的api key。api key创建完成。。。。

二、在项目中添加Google Maps SDK for IOS
Google
 Maps SDK for iOS是一个包含一个资源包的静态框架,下面是添加框架和配置工程的具体步骤:

1、创建一个新工程,不要勾选StoryBoard,一定要用arc

2、将下载好的GoogleMaps.framework包拖到工程的Frameworks文件夹下,记得一定要选中Copy
 items into destination group's folder.

3、在你的工程中右击添加好的GoogleMaps.framework,选择在文件夹中打开(show
 in finder)

4、将Resources文件夹下的GoogleMaps.bundle拖到工程中,最好是放到Frameworks文件夹下,导入的时候不要选Copy
 items into destination group's folder

5、选中工程,选中应用的target

6、打开Build
 Phases页面,在Link Binary with Libraries分类中,加入以下frameworks:

AVFoundation.framework

CoreData.framework

CoreLocation.framework

CoreText.framework

GLKit.framework

ImageIO.framework

libc++.dylib

libicucore.dylib

libz.dylib

OpenGLES.framework

QuartzCore.framework

SystemConfiguration.framework

7、选中工程中的Build
 Settings页面

将Architectures里面的默认值改为armv7

在Other
 Linker Flags中添加-ObjC,如果这些选项不可见,可以在最上面的过滤中选中all

8、最后,把API
 Key添加到AppDelegate中

导入包:#import
 <GoogleMaps/GoogleMaps.h>

在.m文件的didFinishLaunchingWithOptions:方法中添加:

[cpp]
<SPAN style="WHITE-SPACE: pre"> </SPAN>[GMSServices provideAPIKey:@"YOUR_API_KEY"];

[GMSServices provideAPIKey:@"YOUR_API_KEY"];
三、在ViewController中添加一个地图

[cpp]
- (void)viewDidLoad 

    [super viewDidLoad]; 
    // Do any additional setup after loading the view.  
    // 创建一个GMSCameraPosition,告诉map在指定的zoom level下显示指定的点  
    GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:-22.86 longitude:151.20 zoom:6]; 
    mapView_ = [GMSMapView mapWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height) camera:camera]; 
    [self.view addSubview:mapView_]; 
     
    // 在map中间做一个标记  
    GMSMarker *marker = [[GMSMarker alloc] init]; 
    marker.position = CLLocationCoordinate2DMake(-22.86, 151.20); 
    marker.title = @"Sydney"; 
    marker.snippet = @"Australia"; 
    marker.map = mapView_; 
}

在IOS开发中使用GoogleMaps SDK的更多相关文章

  1. iOS开发中静态库制作 之.a静态库制作及使用篇

    iOS开发中静态库之".a静态库"的制作及使用篇 一.库的简介 1.什么是库? 库是程序代码的集合,是共享程序代码的一种方式 2.库的类型? 根据源代码的公开情况,库可以分为2种类 ...

  2. IOS开发中UI编写方式——code vs. xib vs.StoryBoard

    最近接触了几个刚入门的iOS学习者,他们之中存在一个普遍和困惑和疑问,就是应该如何制作UI界面.iOS应用是非常重视用户体验的,可以说绝大多数的应用成功与否与交互设计以及UI是否漂亮易用有着非常大的关 ...

  3. iOS开发中调试小技巧

    对于软件开发而言,调试是必须学会的技能,重要性不言而喻.对于调试的技能,基本上是可以迁移的,也就是说你以前在其他平台上掌握的很多调试技巧,很多也是可以用在iOS开发中.不同语言.不同IDE.不同平台的 ...

  4. 在iOS开发中,给项目添加新的.framework

    首先需要了解一下iOS中静态库和动态库.framework的概念 静态库与动态库的区别 首先来看什么是库,库(Library)说白了就是一段编译好的二进制代码,加上头文件就可以供别人使用. 什么时候我 ...

  5. Xamarin iOS开发中的编辑、连接、运行

    Xamarin iOS开发中的编辑.连接.运行 创建好工程后,就可以单击Xamarin Studio上方的运行按钮,如图1.37所示,对HelloWorld项目进行编辑.连接以及运行了.运行效果如图1 ...

  6. 在iOS开发中使用FMDB

    在iOS开发中使用FMDB 前言 SQLite (http://www.sqlite.org/docs.html) 是一个轻量级的关系数据库.iOS SDK 很早就支持了 SQLite,在使用时,只需 ...

  7. 【转】在iOS开发中使用FMDB

    本文转载自:唐巧的博客 在iOS开发中使用FMDB APR 22ND, 2012 前言 SQLite (http://www.sqlite.org/docs.html) 是一个轻量级的关系数据库.iO ...

  8. iOS - 开发中调试小技巧

    对于软件开发而言,调试是必须学会的技能,重要性不言而喻.对于调试的技能,基本上是可以迁移的,也就是说你以前在其他平台上掌握的很多调试技巧,很多也是可以用在iOS开发中.不同语言.不同IDE.不同平台的 ...

  9. iOS开发中的单元测试(三)——URLManager中的测试用例解析

    本文转载至 http://www.cocoachina.com/cms/plus/view.php?aid=8088   此前,我们在<iOS开发中的单元测试(一)&(二)>中介绍 ...

随机推荐

  1. Hook技术简介(有用SDK写的例子)

    钩子(Hook),是Windows消息处理机制的一个平台,应用程序可以在上面设置子程以监视指定窗口的某种消息,而且所监视的窗口可以是其他进程所创建的.当消息到达后,在目标窗口处理函数之前处理它.钩子机 ...

  2. 【机器学习实战】第4章 朴素贝叶斯(Naive Bayes)

    第4章 基于概率论的分类方法:朴素贝叶斯 朴素贝叶斯 概述 贝叶斯分类是一类分类算法的总称,这类算法均以贝叶斯定理为基础,故统称为贝叶斯分类.本章首先介绍贝叶斯分类算法的基础——贝叶斯定理.最后,我们 ...

  3. 前端Js框架汇总(工具多看)

    前端Js框架汇总(工具多看) 一.总结 一句话总结: 二.前端Js框架汇总 概述: 有些日子没有正襟危坐写博客了,互联网飞速发展的时代,技术更新迭代的速度也在加快.看着Java.Js.Swift在各领 ...

  4. 利用spingmvc及servlet实现对url的地址去除后缀,更改后缀为html

    效果图 1.在web.xml中加上如下配置.其实就是利用servlet的目录过滤,这样所有带有news的地址都会被拦截 <!-- restfull风格约定,去除前台超链接访问的后缀 --> ...

  5. 最新版Butterknife plugin支持butterknife7.0.1和兼容butterknife 6.1.0及下面

    JakeWharton 的butterknife帮我们有效的攻克了findViewById及各种view的监听事件泛滥的问题,极大的简化了代码,假设使用了android Studio开发的配上avas ...

  6. Opencv光流运动物体追踪

    光流的概念是由一个叫Gibson的哥们在1950年提出来的.它描述是空间运动物体在观察成像平面上的像素运动的瞬时速度,利用图像序列中像素在时间域上的变化以及相邻帧之间的相关性来找到上一帧跟当前帧之间存 ...

  7. hive 分区表与数据产生关联的三种方式

    所谓关联,可以理解为能够使用select查询到 1.load 这是最常用的一种方式 load data [local] inpath "数据路径" into table table ...

  8. VC和matlab混合开发遇到的问题及其解决办法

    作者:朱金灿 来源:http://blog.csdn.net/clever101 1. error C2011: '_INTERFACE_INFO' : 'struct' type redefinit ...

  9. JDK里的设计模式(全)

    下面是JDK中有关23个经典设计模式的示例,在stakeoverflow也有相应的讨论:http://stackoverflow.com/questions/1673841/examples-of-g ...

  10. 使用Restlet Client发送各种Get和Post请求

    在开发web应用时,在对Spring中的Controller进行测试时,需要发送各种get以及post请求进行测试,当然可以自己在浏览器里输入url或者对于测试而言使用Spring提供的MockMvc ...