扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
以横条广告为例的广告插入实现,插屏广告同理,积分墙广告待续。
我们拥有十多年网页设计和网站建设经验,从网站策划到网站制作,我们的网页设计师为您提供的解决方案。为企业提供成都网站制作、成都网站建设、外贸营销网站建设、微信开发、微信小程序、手机网站制作、H5网站设计、等业务。无论您有什么样的网站设计或者设计方案要求,我们都将富于创造性的提供专业设计服务并满足您的需求。
工具/原料
SDK
方法/步骤
注册下载SDK
创建项目,创建完成项目后、将会得到应用ID、应用密钥这两个字符串:
将下载下来的库添加到本地项目中,选择选项:
其次添加依赖框架、这步很重要,
所要添加的依赖框架框架:
AdSupport.framework
Security.framework
StoreKit.framework
ImageIO.framework
MapKit.framework
QuartzCore.framework
SystemConfiguration.framework
CoreTelephony.framework
CoreGraphics.framework
添加完成、编译....
最后代码实现...显示横幅广告
这里需要做3件事:
1)首先要到AppController.mm 中初始化代理
2)调用initQuMiGuangGao初始化方法
3)显示广告横幅
1 将所要现实的那个.cpp文件改成.mm文件
2 在.mm文件中把头文件包含进来
使用: [[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"白名单://"]] 判断是否安装白名单里面的App.
苹果自带的地图不需要设置白名单,需要设置终点的经纬度就行,需要导入 #import MapKit/MapKit.h 头文件
可以参考: 百度地图官方文档 实现如下:
参数设置可以参考文档
可以参考: 高德地图官方文档 实现如下:
可以参考: 腾讯地图官方文档 实现如下:
.h
.m
楼主你好,一般我们安装的地图软件都可以选择2D和3D模式来查询地图的,相对来说2D数据比较小显示的就比较快。一般我们使用2D就可以满足了不过3D看上去效果会更直观一下。你可以安装腾讯地图软件呀,它覆盖了全国400个城市的离线地图下载,下载后查询3D地图更快速。而且它还有零流量地图共功能,开启后可以让手机离线实现地点搜索、公交/驾车路线规划、步行导航、驾车语音导航等功能,基本上日常所需的功能全部可以满足,而且全程零流量。
解决的办法:A页面生成一个mapView,然后大家共用它,而不是每次点击单元格都创建一个地图。因为A页面和B页面切换速度过快,地图绘制是很耗时间的,地图还没有创建出来就退出,有时候就会导致内存泄露--crash。
因为没有做移除线。
画线 ------- 是通过创建 new AMap.Polyline 实例 并添加到地图上 polyline.setMap(this.GDMap)。
清除线 ---- 画线的同时把画线创建的实例存储起来通过 remove 方法移除线,改变线的颜色 --- 通过 setOptions 重新设置配置项,完整的代码。
高德地图是中国领先的数字地图内容、导航和位置服务解决方案提供商。拥有导航电子地图甲级测绘资质和互联网地图服务甲级测绘资质,其优质的电子地图数据库成为公司的核心竞争力。
公司2010年登陆美国纳斯达克全球精选市场(NasdaqAMAP)。2014年12月,高德发布了“出行保障”计划,宣布此项服务长期有效,而且最高赔付额度提高到了1000元。2018年6月5日 苹果在美国时间6月4日的苹果开发者大会上,发布了最新的iOS 12操作系统,CarPlay支持高德地图。2021年10月,高德地图正式上线了车道级导航高清版,基于北斗卫星导航系统。
第一步:申请Key,用于搜索SDK。
提示:MapKit是不需要Key的,该key仅用于高德的iOS SDK搜索功能。
第二步:初始化MKMapView ,并添加到Subview。同时,进行定位,设置定位模式,在地图上显示定位点。
注意:
(1)MapKit中的定位(showUserLocation= YES),在回调中获取的坐标不用进行坐标偏转;若使用CLLocationManager方法进行定位,需要进行坐标偏转(参考附加内容)。
(2)MapKit没有申请定位权限,需在代码中申请一下定位权限。
申请方法:在 info.plist中追加NSLocationWhenInUseUsageDescription或NSLocationAlwaysUsageDescription字段。其中:
NSLocationWhenInUseUsageDescription表示应用在前台的时候可以搜到更新的位置信息。
NSLocationAlwaysUsageDescription表示应用在前台和后台(suspend或terminated)都可以获取到更新的位置数据。
代码如下:
//申请定位权限
- (void) initLocation
{
if(nil == _locationManager)
{
_locationManager = [[CLLocationManager alloc] init];
}
if([[[UIDevice currentDevice] systemVersion] floatValue] = 8.0)
{
[_locationManager requestAlwaysAuthorization];
}
}
//初始化MapView
- (void) initMapView{
//构造MKMapView
_mapView = [[MKMapView alloc] initWithFrame:CGRectMake(0, 21, CGRectGetWidth(self.view.bounds), CGRectGetHeight(self.view.bounds))];
_mapView.delegate = self;
_mapView.showsUserLocation = YES;//显示定位图标
[_mapView setUserTrackingMode:MKUserTrackingModeFollow];//设置定位模式
//将mapview添加到Subview中
[self.view addSubview:_mapView];
}
第三步:初始化主搜索对象AMapSearchAPI
构造AMapSearchAPI对象,并设置搜索结果语言。(支持英文结果的搜索功能包括:POI搜索、逆地理编码和地理编码、输入提示,能够满足基本的搜索功能)
//初始化AMapSearchAPI
- (void)initSearch
{
//构造AMapSearchAPI
_search = [[AMapSearchAPI alloc] initWithSearchKey:APIKey Delegate:self];
_search.language = AMapSearchLanguage_en;//设置语言
}
第四步:构造搜索对象,设置搜索参数,发起查询,在相应的回调中进行结果展示(如:POI查询结果以大头针标注等等)。
以Demo中的POI查询为例,以选择的输入提示语为关键字
/* POI 搜索. */
- (void)searchPOIWithKey:(NSString *)key adcode:(NSString *)adcode
{
if (key.length == 0)
{
return;
}
//构造POI搜索对象AMapPlaceSearchRequest
AMapPlaceSearchRequest *place = [[AMapPlaceSearchRequest alloc] init];
//设置关键字、
place.keywords = key;
place.requireExtension = YES;//设置成YES,返回信息详细,较费流量
if (adcode.length 0)
{
place.city = @[adcode];
}
//发起查询
[_search AMapPlaceSearch:place];
}
//回调中显示结果
- (void)onPlaceSearchDone:(AMapPlaceSearchRequest *)request response:(AMapPlaceSearchResponse *)respons
{
if (respons.pois.count == 0)
{
return;
}
NSMutableArray *poiAnnotations = [NSMutableArray arrayWithCapacity:respons.pois.count];
[respons.pois enumerateObjectsUsingBlock:^(AMapPOI *obj, NSUInteger idx, BOOL *stop) {
[poiAnnotations addObject:[[POIAnnotation alloc] initWithPOI:obj]];
}];
/* 将结果以annotation的形式加载到地图上. */
[_mapView addAnnotations:poiAnnotations];
/* 如果只有一个结果,设置其为中心点. */
if (poiAnnotations.count == 1)
{
_mapView.centerCoordinate = [poiAnnotations[0] coordinate];
}
/* 如果有多个结果, 设置地图使所有的annotation都可见. */
else
{
[_mapView showAnnotations:poiAnnotations animated:NO];
}
}
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流