zoukankan      html  css  js  c++  java
  • 关于使用百度地图IOSSDK的总结

    关于使用百度地图API 需要注意的问题

    http://darrendev.diandian.com/post/2012-09-26/40039555068

    上面的文章,非常详细的总结了百度地图需要注意的问题,结合baidu自己的demo来研究,很快就可以将百度地图加入自己的过程。

    教程在上面,按照教程来使用即可。 

    重点点:在 other  link flag 里面 设置 -all_load 

     

    ------------------------------------------------------

    可以借助调用google API 计算两点的行车时间。

    关于调用google API 计算两点行车距离

    Http 请求:

    ////API 接口 json 数据 返回两点之间的行车距离和时间

    http://maps.googleapis.com/maps/api/distancematrix/json?

    ///参数

    origins=39.915101,116.403981 //起点

    destinations=40.056957,116.307827 //终点

    sensor=false ///表示是否启用GPS定位

    mode,用于指定计算路线时所采用的出行方式。有效值包括:

    • driving(默认),用于表示使用道路网络的标准行车路线。
    • walking,用于请求经过步行街和人行道(如果有的话)的步行路线。
    • bicycling,用于请求途经自行车道和优先街道的骑行路线(目前仅在美国和加拿大的某些城市提供)。

    language=zh-Hans ///简体中文地区

    ///示例请求 

    http://maps.googleapis.com/maps/api/distancematrix/json?origins=39.915101,116.403981&destinations=40.056957,116.307827&sensor=false&language=zh-Hans

    ///示例数据 json 数据

    {

       "destination_addresses" : [ "中国北京 海淀区西二旗西路29号" ],

       "origin_addresses" : [ "中国北京 东城区东华门大街56号 邮政编码: 100006" ],

       "rows" : [

          {

             "elements" : [

                {

                   "distance" : {

                      "text" : "24.0 公里",

                      "value" : 24002

                   },

                   "duration" : {

                      "text" : "35 分钟",

                      "value" : 2118

                   },

                   "status" : "OK"

                }

             ]

          }

       ],

       "status" : "OK"

    }

     

    --------------------------------------------------------------------

    下载:

    http://developer.baidu.com/map/sdk-ios.htm

    注册Key:

    http://dev.baidu.com/wiki/static/imap/key/

    导入:

    将libbaidumapapi.a (分为模拟器/真机版, 名字相同, 只能存在一个) 拖进工程

    将inc文件夹拖进工程

    将mapapi.bundle拖进工程 (包含一些默认图片)

    保证至少有一个文件为.mm

    导入CoreLocation.framework

    导入QuartzCore.framework

    Project->BuildSetting->Linking->Other Linker Flags 添加 -all_load (用来保证xib中可用)

    AppDelegate.h中:

    1
    2
    3
    4
    5
    6
    #import "BMapKit.h"
                        
    @interface AppDelegate : UIResponder <UIApplicationDelegate>
    {
        BMKMapManager* _mapManager;
    }

    AppDelegate.m中

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    - (BOOL)application:(UIApplication *)application
    didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
    {
        // 要使用百度地图,请先启动BaiduMapManager
        _mapManager = [[BMKMapManager alloc]init];
        // 如果要关注网络及授权验证事件,请设定generalDelegate参数
        BOOL ret = [_mapManager start:@"你的KEY" generalDelegate:nil];
        if (!ret)
        {
            NSLog(@"manager start failed!");
        }
        //....
        return YES;
    }

    到这就可以通过编译了.

    实战可参考官方的指南和Demo.

    FIY:

    如果bundle name是中文会产生崩溃

  • 相关阅读:
    url中特殊字符被转义成编码后如何处理
    解决:扰人的报错 Input length must be multiple of 8 when decrypting with padded cipher
    使用fastjson 进行jsonObject转实体类对象
    Mybatis之foreach遍历Map
    Map对象中的keyset()、entryset()和Map.Entry
    jdk的keytool生成jks和获取jks的信息,公匙
    postgres如何不插入重复的值
    docker查看日志记录
    Git Bash输错账号密码如何重新输入
    IntellIJ IDEA 配置 Maven 以及 修改 默认 Repository
  • 原文地址:https://www.cnblogs.com/kevingod/p/3081773.html
Copyright © 2011-2022 走看看