如何把GPS坐标显示在Google Maps中
warmonkey2013/01/02软件综合 IP:广东
既然不是写论文,前言和总结就省了,大家肯定清楚这是干什么的。


mapsview.png



GPS通过串口输出一些定位数据,每一行是一个NMEA语句,每一句开头是$,结尾是换行符
我们盯着这一句就行了:
推荐定位信息(GPRMC)
  $GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>*hh
  <1> UTC时间,hhmmss.sss(时分秒.毫秒)格式
  <2> 定位状态,A=有效定位,V=无效定位
  <3> 纬度XXXXXXXmm(度分)格式(前面的0也将被传输)
  <4> 纬度半球N(北半球)或S(南半球)
  <5> 经度XXXXXXXXmm(度分)格式(前面的0也将被传输)
  <6> 经度半球E(东经)或W(西经)
  <7> 地面速率(000.0~999.9节,前面的0也将被传输)
  <8> 地面航向(000.0~359.9度,以正北为参考基准,前面的0也将被传输)
  <9> UTC日期,ddmmyy(日月年)格式
  <10> 磁偏角(000.0~180.0度,前面的0也将被传输)
  <11> 磁偏角方向,E(东)或W(西)
  <12> 模式指示(仅NMEA0183 3.00版本输出,A=自主定位,D=差分,E=估算,N=数据无效)


提取数据很容易,问题是,如何显示到google maps上面?


来看看google maps api
XXXXXXXXXXXXXXXXXXXXXXXXXXXXX/maps/documentation/javascript/reference
呃,似乎太复杂了


那就简单一点,从现成的代码讲起。
请复制以下代码,填入记事本中,保存为XXXXXXXXXXml,然后用浏览器打开它
<!DOCTYPE html><html>  <head>    <title>KML Viewer - Driven by Google Maps</title>   <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no">    <meta charset="utf-8">    <style>      html, body, #map_canvas {        margin: 0;        padding: 0;        height: 100%;      }    </style>    <script src="XXXXXXXXXXXXXXXXXXXXXXXXXXX/maps/api/js?v=3.exp&sensor=false"></script>    <script>    function initialize() {        var mapOptions = {          zoom: 11,          center: new XXXXXXXXXXXXXXtLng(22.573601,113.917435),          mapTypeId: XXXXXXXXXXXXXXXXXXXXXXXXADMAP        }        var map = new XXXXXXXXXXXXXXp(XXXXXXXXXXXtElementById('map_canvas'), mapOptions);        var poslist = [        ['A',113.917435,22.573601],            ['B',113.987335,22.549183],        ['C',114.058334,22.516199],        ['D',114.058281,22.516199],        ['E',114.098732,22.538082],        ['F',114.110817,22.535583],        ['G',114.062019,22.532650],        ['H',114.059013,22.525883],        ['I',114.058968,22.525833]        ];        
    var posrows;        for(i=0;i<poslist.length;i++) {            var mypos = new XXXXXXXXXXXXXXtLng(poslist[i][2],poslist[i][1]);            var marker = new XXXXXXXXXXXXXXrker({            position: mypos,            map: map,            title: poslist[i][0]            });        }      }    </script> </head>  <body onload="initialize()"> <div id="map_canvas"></div>  </body></html>
估计到这里,大家都知道关键所在了

var poslist = [           ['A',113.917435,22.573601],        ['B',113.987335,22.549183],        ['C',114.058334,22.516199],        ['D',114.058281,22.516199],

坐标填进去,位置显示出来
来自:计算机科学 / 软件综合
8
已屏蔽 原因:{{ notice.reason }}已屏蔽
{{notice.noticeContent}}
~~空空如也
myseil
11年5个月前 IP:未同步
485860
居然有个沙发!   确定坐标! 然后标注?
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
tech4me
11年4个月前 IP:未同步
498268
我记得我们天朝有偏移算法。。。这个能解决吗?
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
warmonkey作者
11年4个月前 IP:未同步
498270
回 2楼(tech4me) 的帖子
测试过,不用卫星图就没问题,现在是完全正常的
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
tech4me
11年4个月前 IP:未同步
498274
回 3楼(warmonkey) 的帖子
谢谢斑竹 原来搞社交网站的好友定位时用过几次
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
ss大兵
11年4个月前 IP:未同步
498468
XXXXXXXXXXml火狐浏览器不行啊
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
warmonkey作者
11年4个月前 IP:未同步
498477
回 5楼(ss大兵) 的帖子
测试过可以的,请检查文本格式,论坛扰乱了代码
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
ss大兵
11年4个月前 IP:未同步
499394
回 6楼(warmonkey) 的帖子
copy,出结果啦!
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论

想参与大家的讨论?现在就 登录 或者 注册

所属专业
上级专业
同级专业
warmonkey
学者 机友
文章
357
回复
7662
学术分
14
2008/10/11注册,4时13分前活动

Cubesat

主体类型:个人
所属领域:无
认证方式:手机号
IP归属地:未同步
文件下载
加载中...
{{errorInfo}}
{{downloadWarning}}
你在 {{downloadTime}} 下载过当前文件。
文件名称:{{resource.defaultFile.name}}
下载次数:{{resource.hits}}
上传用户:{{uploader.username}}
所需积分:{{costScores}},{{holdScores}}下载当前附件免费{{description}}
积分不足,去充值
文件已丢失

当前账号的附件下载数量限制如下:
时段 个数
{{f.startingTime}}点 - {{f.endTime}}点 {{f.fileCount}}
视频暂不能访问,请登录试试
仅供内部学术交流或培训使用,请先保存到本地。本内容不代表科创观点,未经原作者同意,请勿转载。
音频暂不能访问,请登录试试
支持的图片格式:jpg, jpeg, png
插入公式
评论控制
加载中...
文号:{{pid}}
投诉或举报
加载中...
{{tip}}
请选择违规类型:
{{reason.type}}

空空如也

加载中...
详情
详情
推送到专栏从专栏移除
设为匿名取消匿名
查看作者
回复
只看作者
加入收藏取消收藏
收藏
取消收藏
折叠回复
置顶取消置顶
评学术分
鼓励
设为精选取消精选
管理提醒
编辑
通过审核
评论控制
退修或删除
历史版本
违规记录
投诉或举报
加入黑名单移除黑名单
查看IP
{{format('YYYY/MM/DD HH:mm:ss', toc)}}