亲,注意,百度地图需要联网测试才不会。。。

简介: 亲,注意,百度地图需要联网测试才不会。。。太阳火神的美丽人生 (http://blog.csdn.net/opengl_es)本文遵循“署名-非商业用途-保持一致”创作公用协议转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS、Android、Html5、Arduino、pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作。

亲,注意,百度地图需要联网测试才不会。。。

太阳火神的美丽人生 (http://blog.csdn.net/opengl_es)

本文遵循“署名-非商业用途-保持一致”创作公用协议

转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS、Android、Html5、Arduino、pcDuino否则,出自本博客的文章拒绝转载或再转载,谢谢合作。


近期在 iOS 下使用百度地图定位功能,由于公司的网关不稳定,经常导致局域网通讯障碍,故而使用小WIFI路由器搭了个局域网环境,确保开发环境、手机和服务器均在小环境内可以稳定工作。(我的天,这什么情况。。。)

可以在定位的过程中,发现那个经常见到的“联网成功”和“授权成功”均不见了,取而代之是2 和 -300.(XCode 的日志输出区会有输出)

后来偶尔切换到公网,查资料,忘切回来了,居然能正常工作了,才意识到这个问题根源。

特意把小WIFI的WAN口插到公交交换机上,再测试就OK了,断开那根救命线,这边怎么测试都是无法定位,而且两个日志输出区的标识也由数字代替了。

另外,反向地理解析,是一定要有网络连接的,以便从百度服务器获得指定经纬度对应的省、市、区(县)、街、号。。。。。。




定位功能

简介

由于系统原因,iOS不允许使用第三方定位,因此地图SDK中的定位方法,本质上是对原生定位的二次封装。通过封装,开发者可更便捷的使用。此外,地图SDK中还提供了相应的定位图层(支持定位三态效果),帮助开发者显示当前位置信息。

注:自iOS8起,系统定位功能进行了升级,SDK为了实现最新的适配,自v2.5.0起也做了相应的修改,开发者在使用定位功能之前,需要在info.plist里添加(以下二选一,两个都添加默认使用NSLocationWhenInUseUsageDescription):

NSLocationWhenInUseUsageDescription ,允许在前台使用时获取GPS的描述

NSLocationAlwaysUsageDescription ,允许永久使用GPS的描述

获取位置信息

定位功能可以和地图功能分离使用,单独的定位功能使用方式如下:

-(void)viewDidLoad  
{
    //设置定位精确度,默认:kCLLocationAccuracyBest
    [BMKLocationServicesetLocationDesiredAccuracy:kCLLocationAccuracyNearestTenMeters];
    //指定最小距离更新(米),默认:kCLDistanceFilterNone
    [BMKLocationServicesetLocationDistanceFilter:100.f];
 
    //初始化BMKLocationService  
    _locService = [[BMKLocationService alloc]init];  
    _locService.delegate = self;  
    //启动LocationService  
    [_locService startUserLocationService];  
}  
//实现相关delegate 处理位置信息更新  
//处理方向变更信息  
- (void)didUpdateUserHeading:(BMKUserLocation *)userLocation  
{  
    //NSLog(@"heading is %@",userLocation.heading);  
}  
//处理位置坐标更新  
- (void)didUpdateBMKUserLocation:(BMKUserLocation *)userLocation  
{  
    //NSLog(@"didUpdateUserLocation lat %f,long %f",userLocation.location.coordinate.latitude,userLocation.location.coordinate.longitude);  
}

展示定位信息

展示定位信息的功能位于“地图和覆盖物”这个功能模块,开发者在使用时要注意选择。核心代码如下:(完整信息请参考Demo)

//普通态  
//以下_mapView为BMKMapView对象  
_mapView.showsUserLocation = YES;//显示定位图层  
[_mapView updateLocationData:userLocation];




地理编码

地理编码指的是将地址信息建立空间坐标关系的过程。又可分为正向地图编码和反向地图编码。

正向地理编码指的是由地址信息转换为坐标点的过程。

反向地理编码服务实现了将地球表面的地址坐标转换为标准地址的过程。反向地理编码提供了坐标定位引擎,帮助用户通过地面某个地物的坐标值来反向查询得到该地物所在的行政区划、所处街道、以及最匹配的标准地址信息。通过丰富的标准地址库中的数据,可帮助用户在进行移动端查询、商业分析、规划分析等领域创造无限价值。

正向地理编码和反向地理编码示例如下:

-(void)viewDidLoad    
{      
    //初始化检索对象    
    _searcher =[[BMKGeoCodeSearch alloc]init];    
    _searcher.delegate = self;      
    BMKGeoCodeSearchOption *geoCodeSearchOption = [[BMKGeoCodeSearchOption alloc]init];    
    geoCodeSearchOption.city= @"北京市";    
    geocodeSearchOption.address = @"海淀区上地10街10号";    
    BOOL flag = [_searcher geoCode:geoCodeSearchOption];    
    [geoCodeSearchOption release];    
    if(flag)    
    {    
        NSLog(@"geo检索发送成功");    
    }    
    else    
    {    
        NSLog(@"geo检索发送失败");    
    }    
 
    //发起反向地理编码检索    
    //CLLocationCoordinate2D pt = (CLLocationCoordinate2D){39.915, 116.404};    
    //BMKReverseGeoCodeOption *reverseGeoCodeSearchOption = [[  
    //BMKReverseGeoCodeOption alloc]init];  
    //reverseGeoCodeSearchOption.reverseGeoPoint = pt;    
    //BOOL flag = [_searcher reverseGeoCode:reverseGeoCodeSearchOption];    
    //[reverseGeoCodeSearchOption release];    
    //if(flag)    
    //{    
    //  NSLog(@"反geo检索发送成功");    
    //}    
    //else    
    //{    
    //  NSLog(@"反geo检索发送失败");    
    //}    
 }    
 
//实现Deleage处理回调结果    
//接收正向编码结果   
 
- (void)onGetGeoCodeResult:(BMKGeoCodeSearch *)searcher result:(BMKGeoCodeResult *)result errorCode:(BMKSearchErrorCode)error{    
    if (error == BMK_SEARCH_NO_ERROR) {    
         //在此处理正常结果    
    }    
    else {    
        NSLog(@"抱歉,未找到结果");    
    }    
}    
 
//接收反向地理编码结果    
//-(void) onGetReverseGeoCodeResult:(BMKGeoCodeSearch *)searcher result:  
//(BMKReverseGeoCodeResult *)result   
//errorCode:(BMKSearchErrorCode)error{    
//  if (error == BMK_SEARCH_NO_ERROR) {    
//      在此处理正常结果    
//  }    
//  else {    
//      NSLog(@"抱歉,未找到结果");    
//  }    
//}    
 
//不使用时将delegate设置为 nil      
-(void)viewWillDisappear:(BOOL)animated      
{      
    _searcher.delegate = nil;      
}
目录
相关文章
|
移动开发 定位技术 API
百度地图开发:H5获取GPS-wg84经纬度与百度定位API的偏差测试
百度地图开发:H5获取GPS-wg84经纬度与百度定位API的偏差测试
398 0
|
数据可视化 前端开发 测试技术
接口测试新选择:Postman替代方案全解析
在软件开发中,接口测试工具至关重要。Postman长期占据主导地位,但随着国产工具的崛起,越来越多开发者转向更适合中国市场的替代方案——Apifox。它不仅支持中英文切换、完全免费不限人数,还具备强大的可视化操作、自动生成文档和API调试功能,极大简化了开发流程。
|
11月前
|
Java 测试技术 容器
Jmeter工具使用:HTTP接口性能测试实战
希望这篇文章能够帮助你初步理解如何使用JMeter进行HTTP接口性能测试,有兴趣的话,你可以研究更多关于JMeter的内容。记住,只有理解并掌握了这些工具,你才能充分利用它们发挥其应有的价值。+
1457 23
|
SQL 安全 测试技术
2025接口测试全攻略:高并发、安全防护与六大工具实战指南
本文探讨高并发稳定性验证、安全防护实战及六大工具(Postman、RunnerGo、Apipost、JMeter、SoapUI、Fiddler)选型指南,助力构建未来接口测试体系。接口测试旨在验证数据传输、参数合法性、错误处理能力及性能安全性,其重要性体现在早期发现问题、保障系统稳定和支撑持续集成。常用方法包括功能、性能、安全性及兼容性测试,典型场景涵盖前后端分离开发、第三方服务集成与数据一致性检查。选择合适的工具需综合考虑需求与团队协作等因素。
1943 24
|
JSON 前端开发 测试技术
大前端之前端开发接口测试工具postman的使用方法-简单get接口请求测试的使用方法-简单教学一看就会-以实际例子来说明-优雅草卓伊凡
大前端之前端开发接口测试工具postman的使用方法-简单get接口请求测试的使用方法-简单教学一看就会-以实际例子来说明-优雅草卓伊凡
1084 10
大前端之前端开发接口测试工具postman的使用方法-简单get接口请求测试的使用方法-简单教学一看就会-以实际例子来说明-优雅草卓伊凡
|
JSON 前端开发 API
以项目登录接口为例-大前端之开发postman请求接口带token的请求测试-前端开发必学之一-如果要学会联调接口而不是纯写静态前端页面-这个是必学-本文以优雅草蜻蜓Q系统API为实践来演示我们如何带token请求接口-优雅草卓伊凡
以项目登录接口为例-大前端之开发postman请求接口带token的请求测试-前端开发必学之一-如果要学会联调接口而不是纯写静态前端页面-这个是必学-本文以优雅草蜻蜓Q系统API为实践来演示我们如何带token请求接口-优雅草卓伊凡
941 5
以项目登录接口为例-大前端之开发postman请求接口带token的请求测试-前端开发必学之一-如果要学会联调接口而不是纯写静态前端页面-这个是必学-本文以优雅草蜻蜓Q系统API为实践来演示我们如何带token请求接口-优雅草卓伊凡
|
SQL 测试技术
除了postman还有什么接口测试工具
最好还是使用国内的接口测试软件,其实国内替换postman的软件有很多,这里我推荐使用yunedit-post这款接口测试工具来代替postman,因为它除了接口测试功能外,在动态参数的支持、后置处理执行sql语句等支持方面做得比较好。而且还有接口分享功能,可以生成接口文档给团队在线浏览。
624 2
|
存储 JSON API
Python测试淘宝店铺所有商品接口的详细指南
本文详细介绍如何使用Python测试淘宝店铺商品接口,涵盖环境搭建、API接入、签名生成、请求发送、数据解析与存储、异常处理等步骤。通过具体代码示例,帮助开发者轻松获取和分析淘宝店铺商品数据,适用于电商运营、市场分析等场景。遵守法规、注意调用频率限制及数据安全,确保应用的稳定性和合法性。
|
监控 API 开发工具
Socket.IO介绍,以及怎么连接测试Socket.IO接口?
Socket.IO 是一个用于浏览器和服务器间实时双向通信的库,支持低延迟消息传递、跨平台运行及自动重连。文章介绍了其特点与调试需求,并详细说明如何使用 Apifox 工具创建、连接、发送/接收 Socket.IO 事件,以及团队协作和调试技巧。掌握这些技能可提升实时应用开发效率与质量。
|
存储 测试技术 数据库
接口测试工具攻略:轻松掌握测试技巧
在互联网快速发展的今天,软件系统的复杂性不断增加,接口测试工具成为确保系统稳定性的关键。它如同“翻译官”,模拟请求、解析响应、验证结果、测试性能并支持自动化测试,确保不同系统间信息传递的准确性和完整性。通过Apifox等工具,设计和执行测试用例更加便捷高效。接口测试是保障系统稳定运行的第一道防线。