正常的做法是用nvarchar保存,应为google map,设置地点用String就可以了。
创新新互联,凭借10年的成都网站设计、成都网站建设经验,本着真心·诚心服务的企业理念服务于成都中小企业设计网站有上千案例。做网站建设,选成都创新互联公司。
google.map({'center':'35.3232432434,139.32434234'})
复杂的计算,伟大的Google都已经做了。我们为什么还要再进行一次呢?
告诉我,你们为什么非得让自已那么纠结?难道人生最大的敌人永远都是自己。
1. 直接按字符串整个存进去就好;
2. 或者你把度分秒的数字分开,分别存到三个数字类型的字段
建议你看下MongoDB数据库。
MongoDB提供了一种GEO数据类型,专门处理地理位置坐标的,跟你这个应用场景极其吻合。
另外你的坐标数量是海量的,用MySQL很难抗的住。
MySQL到千万级的数据量就很吃力了。
两种方式不同点在于前者把数据作为文件上传,后者是把NSData作参POST上传,觉得作为客户端,其实工作量都差不多,关键是后台了,另外,文件上传的好处就是能知道上传进度,后者的乱码,我不知道你怎么传的,反正base64编码后再上传是没问题的。
mysql两点间距,你也自己弄成函数\x0d\x0a\x0d\x0a公式如下,单位米:\x0d\x0a第一点经纬度:lng1 lat1\x0d\x0a第二点经纬度:lng2 lat2\x0d\x0around(6378.138*2*asin(sqrt(pow(sin(\x0d\x0a(lat1*pi()/180-lat2*pi()/180)/2),2)+cos(lat1*pi()/180)*cos(lat2*pi()/180)*\x0d\x0apow(sin( (lng1*pi()/180-lng2*pi()/180)/2),2)))*1000)\x0d\x0a\x0d\x0a例如:\x0d\x0aSELECT store_id,lng,lat,\x0d\x0aROUND(6378.138*2*ASIN(SQRT(POW(SIN((22.299439*PI()/180-lat*PI()/180)/2),2)+COS(22.299439*PI()/180)*COS(lat*PI()/180)*POW(SIN((114.173881*PI()/180-lng*PI()/180)/2),2)))*1000)\x0d\x0aAS\x0d\x0a juli\x0d\x0aFROM store_info\x0d\x0aORDER BY juli DESC\x0d\x0aLIMIT 316