当前位置:  编程技术>移动开发
本页文章导读:
    ▪已知一个点的中纬度,通过距离求另外一个点的经纬度        已知一个点的经纬度,通过距离求另外一个点的经纬度 #include <math.h> #define KmPerDegree 111.12000071117 #define DegreesPerKm (1.0/KmPerDegree) #define PI M_PI #define TwoPI (M_PI+M_PI) #define HalfPI M_PI_2 #define.........
    ▪ google 地图        google map 1.转到D:\program\android-sdk-windows\.android\debug.keystore所在目录运行(此目录所在地可看eclipse->preferences->android->build可看到。运行cmd,转到上面目录运行keytool -list -alias androiddebugkey -.........
    ▪ xcode调试技艺(预处理器控制输出打印信息)       xcode调试技巧(预处理器控制输出打印信息) iPhone 应用发布后,程序运行过程中尽量不要有调试 log 信息输出,这样会影响程序运行的效率。通过宏定义设置,使程序只在 debug 模式下输.........

[1]已知一个点的中纬度,通过距离求另外一个点的经纬度
    来源: 互联网  发布时间: 2014-02-18
已知一个点的经纬度,通过距离求另外一个点的经纬度

#include <math.h>
#define KmPerDegree		111.12000071117
#define	DegreesPerKm	(1.0/KmPerDegree)
#define PI				M_PI
#define TwoPI			(M_PI+M_PI)
#define HalfPI			M_PI_2
#define RadiansPerDegree	(PI/180.0)
#define	DegreesPerRadian	(180.0/PI)
#define copysign(x,y)		(((y)<0.0)?-fabs(x):fabs(x))
#define NGT1(x)		(fabs(x)>1.0?copysign(1.0,x):(x))
//#define ArcCos(x)	(fabs(x)>1?quiet_nan():acos(x)) //Hack
#define ArcCos(x)	(acos(x))
#define hav(x)		((1.0-cos(x))*0.5)		/* haversine */
#define ahav(x)		(ArcCos(NGT1(1.0-((x)*2.0))))	/* arc haversine */
#define sec(x)		(1.0/cos(x))			/* secant */
#define csc(x)		(1.0/sin(x))			/* cosecant */

 

 

-(CLLocation*) moveLocation:(CLLocation*)startLocation:(double)movementInMeters:(double)movementBearing
{
	
	double	dist = (movementInMeters / 1000);	/* -> great-circle distance (km) */
	double	course = movementBearing;			/* -> initial great-circle course (degrees) */
	double	slt = startLocation.coordinate.latitude;	/* -> starting decimal latitude (-S) */
	double	slg = startLocation.coordinate.longitude;	/* -> starting decimal longitude(-W) */
	double	xlt = 0;	/* <- ending decimal latitude (-S) */
	double	xlg = 0;	/* <- ending decimal longitude(-W) */
	
	double	c, d, dLo, L1, L2, coL1, coL2, l;
	
	if (dist > KmPerDegree*180.0) {
		course -= 180.0;
		if (course < 0.0) course += 360.0;
		dist    = KmPerDegree*360.0-dist;
	}
	
	if (course > 180.0) course -= 360.0;
	c    = course*RadiansPerDegree;
	d    = dist*DegreesPerKm*RadiansPerDegree;
	L1   = slt*RadiansPerDegree;
	slg *= RadiansPerDegree;
	coL1 = (90.0-slt)*RadiansPerDegree;
	coL2 = ahav(hav(c)/(sec(L1)*csc(d))+hav(d-coL1));
	L2   = HalfPI-coL2;
	l    = L2-L1;
	if ((dLo=(cos(L1)*cos(L2))) != 0.0)
		dLo  = ahav((hav(d)-hav(l))/dLo);
	if (c < 0.0) dLo = -dLo;
	slg += dLo;
	if (slg < -PI)
		slg += TwoPI;
	else if (slg > PI)
		slg -= TwoPI;
	
	xlt = L2*DegreesPerRadian;
	xlg = slg*DegreesPerRadian;
	
	CLLocation *tempLocation = [[[CLLocation alloc] initWithLatitude:xlt longitude:xlg] autorelease];
	return tempLocation;
}
 

    
[2] google 地图
    来源: 互联网  发布时间: 2014-02-18
google map
1.转到D:\program\android-sdk-windows\.android\debug.keystore所在目录
运行(此目录所在地可看eclipse->preferences->android->build可看到。
运行cmd,转到上面目录运行

keytool -list -alias androiddebugkey -keystore debug.keystore -storepass android -keypass android

D:\program\android-sdk-windows\.android>keytool -list -alias androiddebugkey -ke
ystore debug.keystore -storepass android -keypass android
androiddebugkey, 2011-8-18, PrivateKeyEntry,
认证指纹 (MD5): 6A:AC:1A:97:E5:58:4C:BA:23:24:C8:C0:80:85:77:DF

2.打开此网页
http://code.google.com/intl/zh-CN/android/maps-api-signup.html
输入上面的MD5就会生成map的APIKEY

<com.google.android.maps.MapView
                 android:layout_width="fill_parent"
                 android:layout_height="fill_parent"
                 android:apiKey="0nVmhWlINfaDF6zfkDYC7MpfNVDqPJH0j7Koj4Q"
                 />
       

    
[3] xcode调试技艺(预处理器控制输出打印信息)
    来源: 互联网  发布时间: 2014-02-18
xcode调试技巧(预处理器控制输出打印信息)
iPhone 应用发布后,程序运行过程中尽量不要有调试 log 信息输出,这样会影响程序运行的效率。通过宏定义设置,使程序只在 debug 模式下输出对我们有用的信息, release 时不会输出。
1、首先建立一个宏定义文件,文件内容如下:
#if DEBUG
#define debuglog(format, ...)   NSLog(format, __VA_ARGS__)
#else
#define debuglog(format, ...)
#endif

2,打开project-->edit project setting 中bulid选项卡

选择 左上角的 Configuration 的 Debug,下面的下拉框选择->Edit Definition at this Level ,在下面找GCC4.2-preprocessing-preprocessor macros(预处理器)设置DEBUG=1

这样我们就可以做到log调试信息在release时不会输出。

    
最新技术文章:
▪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