当前位置:  编程技术>移动开发
本页文章导读:
    ▪深入了解Java内存模型        深入理解Java内存模型 ......
    ▪ [转]2013个人淘金年代渐渐落幕 市场风标指向团队开发        [转]2013个人淘金时代渐渐落幕 市场风标指向团队开发 一个名为“Something Inc“的公司会比一个叫做“Mou Ren”的个人开发者更容易得到用户。   一个好的官方网站会比一个新浪微博作为主页.........
    ▪ map注解Annotation       地图注解Annotation 原文地址:iphone开发-地图注解(地图上的大头针)作者:yangshuai iphone开发小笔记:iphone开发-地图注解(地图上的大头针)   Cocoa Touch 没有提供地图注解类,只定义了.........

[1]深入了解Java内存模型
    来源: 互联网  发布时间: 2014-02-18
深入理解Java内存模型

深入理解Java内存模型(七)——总结

深入理解Java内存模型(六)——final

深入理解Java内存模型(五)——锁

深入理解Java内存模型(四)——volatile

深入理解Java内存模型(三)——顺序一致性

深入理解Java内存模型(二)——重排序

深入理解Java内存模型(一)——基础

    
[2] [转]2013个人淘金年代渐渐落幕 市场风标指向团队开发
    来源: 互联网  发布时间: 2014-02-18
[转]2013个人淘金时代渐渐落幕 市场风标指向团队开发

一个名为“Something Inc“的公司会比一个叫做“Mou Ren”的个人开发者更容易得到用户。

 

一个好的官方网站会比一个新浪微博作为主页的个人更加容易得到客户。

 

一个有12个软件的开发者会比一个只有单个软件的开发者更容易得到用户。

 

一个在App Store上有5年历史的开发者会比一个新加入App Store大军的人更加容易得到用户。

拜拜,个人开发者的时代。这个时代已经过去。新的时代正在到来。

 

http://www.cocoachina.com/gamedev/misc/2013/0227/5730.html


    
[3] map注解Annotation
    来源: 互联网  发布时间: 2014-02-18
地图注解Annotation
原文地址:iphone开发-地图注解(地图上的大头针)作者:yangshuai
iphone开发小笔记:iphone开发-地图注解(地图上的大头针)

 

Cocoa Touch 没有提供地图注解类,只定义了一个 MKAnnotation 协议。要创建地图注解,必须设计符合 MKAnnotation 协议的类,该类需要一个 CLLocationCoordinate2D coordinate 属性,以及 title 和 subtitle 实例方法,

 

一. 设计注解类:

例,注解(大头针)类:

.h

#import <MapKit/MapKit.h>

 

@interface LocationObject : NSObject <MKAnnotation> {

CLLocationCoordinate2D coordinate;

NSString *_titleString; //title值

NSString *_subTitleString;

float _latitude; // 经度值

float _longitude; //纬度值

}

 

@property (nonatomic, readonly) CLLocationCoordinate2D coordinate;

@property float _latitude; // 经度值

@property float _longitude; //纬度值

@property (nonatomic, copy) NSString *_titleString; //title值

@property (nonatomic, copy) NSString *_subTitleString;

 

- (id) initWithTitle:(NSString *)atitle latitue:(float)alatitude longitude:(float)alongitude;

 

@end

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

.m

@implementation LocationObject

@synthesize coordinate,_latitude,_longitude,_titleString,_subTitleString;

 

- (id) initWithTitle:(NSString *)atitle latitue:(float)alatitude longitude:(float)alongitude

{

if(self=[super init])

{

self._titleString = atitle;

self._latitude = alatitude;

self._longitude = alongitude;

}

return self;

}

 

- (CLLocationCoordinate2D)coordinate;

{

    CLLocationCoordinate2D currentCoordinate;

currentCoordinate.latitude = self._latitude ;

    currentCoordinate.longitude = self._longitude;

    return currentCoordinate; 

}

 

// required if you set the MKPinAnnotationView's "canShowCallout" property to YES

- (NSString *)title

{

return self._titleString;

}

// optional

- (NSString *)subtitle

{

    return _subTitleString;

}

 

- (void)dealloc

{

[_titleString release];

[_subTitleString release];

    [super dealloc];

}

 

@end

 

二、创建、添加和删除注解

1、创建注解:

LocationObject *aLocationObject = [[LocationObject alloc]initWithTitle:nameString latitue:[latitudeString floatValue] longitude:[longitudeString floatValue]];

aLocationObject._subTitleString = addressString;

 

2、添加注解:

先构建一个注解数组 NSMutableArray *_mapAnnotations;

然后 

[self._mapAnnotations addObject:aLocationObject];

[self._mapView addAnnotations:self._mapAnnotations];

 

3、删除注解:

删除注解可执行 removeAnnotation:一次只删除一个注解,或者执行 removeAnnotation:删除一个数组中的所有项。

如果需要使地图视图回到无注解状态,可执行:

[self._mapView removeAnnotations:self._mapView.annotations];

删除其中全部注解,MKMapView 的 annotations 属性获取了所有注解的数组,然后从地图上全部删除。

 

三、注解视图 

注解对象并非视图,是描述注解的抽象类。注解视图是属于 MKAnnotationView 的子类 MKPinAnnotationView,当地图通过 addAnnotation:或 addAnnotations:添加了注解后,MKMapViewDelegate 协议的委托方法 - (void)mapView:(MKMapView *)mapViewdidAddAnnotationViews:(NSArray *)views 就会通知委托,可以在此回调方法里设置注解视图,如设置大头针颜色、添加附属按钮等,例:

- (void)mapView:(MKMapView *)mapView didAddAnnotationViews:(NSArray *)views

{

// Initialize each view

for (MKPinAnnotationView *mkaview in views)

{

// 当前位置 的大头针设为紫色,并且没有右边的附属按钮

if ([mkaview.annotation.title isEqualToString:@"当前位置"]) 

{

mkaview.pinColor = MKPinAnnotationColorPurple;

mkaview.rightCalloutAccessoryView = nil;

continue;

}

 

// 其他位置的大头针设为红色,右边添加附属按钮

mkaview.pinColor = MKPinAnnotationColorRed;

UIButton *button = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];

mkaview.rightCalloutAccessoryView = button;

}

}

 

四、注解视图 MKPinAnnotationView 的几个属性说明

 

newAnnotation.animatesDrop = YES;  // 大头针掉落的动画开启,NO-关闭

 

newAnnotation.canShowCallout=YES;  // 控制轻击按钮是否生成一个注解视图,默认为Yes-开启

 

newAnnotation.pinColor    // 设置大头针颜色,一共有三种颜色:红色(MKPinAnnotationColorRed),绿色(MKPinAnnotationColorGreen),紫色(MKPinAnnotationColorPurple)

 

 

五、自动显示注解视图(Callout)

- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id<MKAnnotation>)annotation

{

。。。。。。

///// 自动显示 Callout

_myAnnotation = annotation;

[self performSelector:@selector(showCallout) withObject:selfafterDelay:0.1];

 

  return newAnnotation;

}

 

- (void)showCallout {

    [self._mapView selectAnnotation:_myAnnotation animated:YES]; 

}

 


    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android根据电话号码获得联系人头像实例代码
▪Android中GPS定位的用法实例
▪Android实现退出时关闭所有Activity的方法
▪Android实现文件的分割和组装
▪Android录音应用实例教程
▪Android双击返回键退出程序的实现方法
▪Android实现侦听电池状态显示、电量及充电动...
▪Android获取当前已连接的wifi信号强度的方法
▪Android实现动态显示或隐藏密码输入框的内容
▪根据USER-AGENT判断手机类型并跳转到相应的app...
▪Android Touch事件分发过程详解
▪Android中实现为TextView添加多个可点击的文本
▪Android程序设计之AIDL实例详解
▪Android显式启动与隐式启动Activity的区别介绍
▪Android按钮单击事件的四种常用写法总结
▪Android消息处理机制Looper和Handler详解
▪Android实现Back功能代码片段总结
▪Android实用的代码片段 常用代码总结
▪Android实现弹出键盘的方法
▪Android中通过view方式获取当前Activity的屏幕截...
▪Android提高之自定义Menu(TabMenu)实现方法
▪Android提高之多方向抽屉实现方法
▪Android提高之MediaPlayer播放网络音频的实现方法...
▪Android提高之MediaPlayer播放网络视频的实现方法...
▪Android提高之手游转电视游戏的模拟操控
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3