`
lihao312
  • 浏览: 483939 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

IOS基础知识记录十(调用Google Map)

阅读更多
IOS简单调用Google地图

1.首先加入地图依赖的两个包
#import <MapKit/MapKit.h>
#import <CoreLocation/CoreLocation.h>


2.确定位置还必须依赖你的zipCode和地址Dictionary,zipCode可以根据Google提供的方法获取你所在位置的经度和维度, 地址Dictionary可以在Map上面精确的标注出来你的位置,
实现发现如下:
- (void)showMap:(NSString *)zipCode withAddress:(NSDictionary *)address {
    NSString *url, *result;
    NSArray *dataArray;
    double latitude;
    double longitude;
    
    MKCoordinateRegion mapRegion;
    //根据Google提供zip url
    url = [[NSString alloc] initWithFormat: @"http://maps.google.com/maps/geo?output=csv&q=%@", zipCode];
    
    //根据url获取Google提供的方法一个逗号分割的经度、维度字符串
    result = [[NSString alloc] initWithContentsOfURL: [NSURL URLWithString:url]
                                                  encoding:NSUTF8StringEncoding
                                                     error:nil];
    //把逗号分隔字符串转化为数组(类似java里面的split)
    dataArray = [url componentsSeparatedByString: @","];
    
    //Google返回的数据是, 如: ’2, 3, 4, 5‘后面两位数字分别是latitude、longitude
    if ([dataArray count] == 4) {
        latitude = [[dataArray objectAtIndex: 2] doubleValue];
        longitude = [[dataArray objectAtIndex:3] doubleValue];
        
        mapRegion.center.latitude = latitude;
        mapRegion.center.longitude = longitude;
        mapRegion.span.latitudeDelta = 0.2;
        mapRegion.span.longitudeDelta = 0.2;
        
        //设置你的维度和经度后 重新绘制地图
        [map setRegion: mapRegion animated:YES];
        
        //以下是地图中标示你的地址
        if (zipAnnotation != nil) {
            [map removeAnnotation: zipAnnotation];
        }
        
        zipAnnotation = [[MKPlacemark alloc] initWithCoordinate:mapRegion.center
                                              addressDictionary:fullAddress];
        [map addAnnotation: zipAnnotation];
    }
}


3.以上设置后, 便可在你的iphone模拟器上面显示地图以及你所在的位置.
在附件中一个小项目计算您当前的位置距离北京多远
1
1
分享到:
评论

相关推荐

    谷歌地图-iOS

    首先,要使用谷歌地图SDK,你需要在Google Developers Console注册并获取API密钥,这是使用谷歌地图服务的基础。然后,在Xcode项目中导入GoogleMaps框架,确保你的Podfile文件包含了`pod 'GoogleMaps'`,并执行`pod ...

    gmap.rar_GMAP_javascript_map_map javascript_map offline

    在描述中,“高人把google map的javascript全部下载下来 可以实现大部分功能 离线使用GOOGLEMAP”,说明了这是一个高手编写的程序,他或她已经将Google Maps的JavaScript库进行了本地化处理,使得开发者可以在没有...

    google 地图map

    Google地图API是Google提供的一套接口,通过JavaScript、Android或iOS SDK等方式,可以让开发者在网页、移动应用中嵌入地图、搜索位置、获取导航路线等功能。它提供了丰富的自定义选项,如添加标记、信息窗口、热力...

    系统地图Demo

    这些交互功能需要通过监听器(如iOS的MKMapViewDelegate或Android的GoogleMap.OnMarkerClickListener)来实现。 6. **地理编码与反地理编码**:系统地图Demo可能包含了将地址转换为坐标(地理编码)和将坐标转换回...

    Locations GPS地图源码_ios源码

    这需要理解如何调用第三方地图服务(如Google Maps或OpenStreetMap)的API,或者自建算法来解决最短路径问题。 六、地理编码与反地理编码 地理编码是将地址转换为经纬度坐标的过程,而反地理编码则相反。源码中可能...

    技术人员(IOS JAVA 网页设计 美工)的招聘要求.docx

    5. **地图与定位**:有使用GOOGLE MAP、百度地图、高德地图的经验,以及GPS定位和手机传感器通讯技术编程经验者优先。 6. **数据库**:熟悉Oracle或MySQL等主流数据库。 7. **混合编程**:有混合模式编程(如Hybrid ...

    googlemapcode

    首先,我们需要了解Google Maps API的基础知识。Google Maps API提供了多种服务,包括地图显示、地理编码、路线规划、覆盖物(markers)、信息窗口等。开发者可以通过JavaScript或Android、iOS SDK与API交互,但这里...

    谷歌师兄的leetcode刷题笔记-Super-Mario-Brothers-Google-API-Map:Super-Mario-Broth

    这篇笔记主要围绕着“谷歌师兄”在LeetCode平台上的刷题经验展开,结合了"Super Mario Brothers"这一经典游戏主题,以及Google API Map的使用,展现了编程与游戏、实际应用的巧妙结合。LeetCode是一个著名的在线平台...

    mapnavi.rar_c++ 地图_mapna_mapnavi_手机地图

    开发者可以使用JavaScript、Android SDK或iOS SDK来调用API,实现地图展示、位置查找、路线规划等功能。 3. **地图渲染**:在手机地图应用中,地图的渲染是关键。C++库如Mapnik或osm2pgsql可以用来处理OpenStreet...

    使用GMap定位

    在"调用高德Api,输入省份和具体位置,能在高德地图中标识所在的位置"这一描述中,主要涉及以下知识点: 1. **API调用**:API(Application Programming Interface)是软件之间交互的桥梁,开发者通过调用API来获取...

    Kotlin教程与案例.zip

    文档资料.docx可能包含了以下Kotlin的基础知识点: 1. **基础语法**:Kotlin的语法简洁明了,易于理解。它摒弃了Java中的一些冗余部分,如分号和getter/setter。例如,变量声明时可以使用`var`或`val`,前者可变,...

    地图练习

    这个过程可能需要用到Google Maps API、OpenStreetMap Nominatim API或其他类似的地理编码服务。 3. 地图渲染: 实现地图练习可能包括绘制地图的功能。这可能涉及使用库如Leaflet.js(JavaScript)、Mapbox GL JS...

    Kotlin极简教程--陈光剑版

    Kotlin是由JetBrains公司开发的一种静态类型的编程语言,它在2017年被Google宣布为Android开发的首选语言。Kotlin设计目标是提高生产力,减少空指针异常,提供更简洁的语法,并与Java无缝集成。 2. **基础语法** ...

    Qt MapView

    例如,可以设置地图的中心坐标、缩放级别,以及选择不同的地图提供者(如OpenStreetMap、Google Maps等)。 2. **地图提供者(QGeoMapServiceProvider)**:Qt支持多种地图服务提供商,每个提供商都有自己的地图...

    Tabby's EasyMap1.0 源代码

    4. **地图服务接口**:应用可能集成了一些地图服务提供商的API,如Google Maps API、Bing Maps API或OpenStreetMap的Tile服务。这涉及网络请求、JSON解析和地图服务调用策略等。 5. **用户界面(UI)设计**:Tabby'...

    dart语言概览和实践.pdf

    Dart语言是Google开发的一种强类型、面向对象的编程语言,同时也是Flutter框架的开发语言。...通过了解这些知识点,能够有效地利用Dart语言进行编程实践,并且为使用Flutter开发跨平台应用打下坚实的基础。

    qt地图浏览器源码.zip

    地图数据通常由地图服务提供商提供,如谷歌地图、高德地图或OpenStreetMap。在QT地图浏览器中,可能通过网络请求获取这些服务的瓦片图片,并将它们加载到视图中。这涉及到网络编程,以及解析JSON或XML格式的地理信息...

    projeto_perguntas

    1. **Dart基础知识**:包括变量声明、数据类型(如int、double、String、List、Map等)、控制流(if/else、for、while循环)、函数定义和调用、类与对象、继承、接口(mixins)以及异步编程(Future和Stream)。...

    冲浪课程课程

    【冲浪课程课程】是关于使用Dart语言和Flutter框架进行...通过这个【冲浪课程课程】,学员将不仅能够掌握Dart语言和Flutter框架的基础知识,还能深入了解它们的实际应用,为成为专业的移动应用开发者打下坚实的基础。

Global site tag (gtag.js) - Google Analytics