今天,猛然记起摄影测量课上用许多照片构建3D模型,每张照片都有经纬度信息!于是,我想能不能用百度地图API将照片的位置画在地图上?说干就干,我做了一款GUI,可以读取照片,显示照片所在的地理位置、附近的全景图。
GUI界面如下:

下面我们看看如何实现的吧!
一.获取密钥(AK)


二.看服务文档
一定得结合服务文档写代码!


三.撸代码
核心代码1:
照片里的经度、纬度都1行3列,分别为度分秒。
% 读取照片地理信息info = imfinfo('1.jpg)';
核心代码2:
这是最核心的代码!
webread的使用就是填入API、参数值,关于输出值,服务文档会有介绍。
% 提交申请,返回所需数据% 地理位置静态图、全景图、坐标转换均使用此核心代码output= webread(API,'ak',ak,'coords',center,'from',1,'to',5,'ak',ak);
一定不要忘记坐标转换,要转为百度用的坐标!
% 调用百度地图API-坐标转换function coortranglobal centerAPI='http://api.map.baidu.com/geoconv/v1/';ak='wHGswrM32w8IWybVFGsv1Ep9LBQa7keB';output= webread(API,'ak',ak,'coords',center,'from',1,'to',5,'ak',ak);lon=output.result.x;lat=output.result.y;center=[num2str(lon),',',num2str(lat)];end
其实,这种结合API的程序,就是看服务文档,把请求构建出来,然后使用其服务,希望你借助这篇文章学习使用API的方法,如果你有兴趣,你可以试着调用其他的API,比如英语翻译等。
完整代码获取方式:后台回复“百度地图”即可。使用时请注意:所选照片必须有经纬度信息,拍摄时要打开相机设置里的“地理位置”。
如果你喜欢这篇文章,就帮我转发、分享吧,谢谢~~
文章转载自不糊涂录,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




