函数get_google_map.m使用谷歌地图API(https://developers.google.com/maps/documentation/static-maps/)从谷歌地图中检索图像中心的给定坐标和所需的缩放级别(默认值15)。图像以光栅阵列和颜色贴图的形式返回。
此外,以UTM坐标返回X和Y坐标向量的估计值,以便于从MATLAB中轻松绘制地图上的附加信息。
可以指定所需的图像高度和宽度(以像素为单位)以及“地图类型”(路线图、移动、卫星、地形、混合、mapmaker roadmap、mapmaker hybrid之一)和最多50个谷歌地图标记。每个标记可以指定位置、大小、颜色和可选标签。
默认值:缩放15,贴图类型为“卫星”,高度为640,宽度为640
每天可以使用Google Maps API进行数量有限的查询,而无需密钥。要使用Google Maps API每天最多25000次查询,必须获得Google Maps API密钥,该密钥可从Google免费获得。可在此处获取密钥:https://developers.google.com/maps/documentation/static-maps/(单击“获取密钥”)
注意,密钥要求限制了该函数作为密钥的可移植性,因此该函数必须绑定到域名,因此(通常)物理位置。尽管如此,它仍然是一个非常方便的功能,可以在地图上快速绘制数据。
以下代码生成所附的屏幕截图:
[xx yy M Mcolor]=获取谷歌地图(43.06374,-70.703993);
imagesc(XX,YY,M);着色平面;彩色贴图(Mcolor)
xlabel(‘伊斯汀UTM’)
ylabel('Northings UTM')
标题(“朴茨茅斯港入口”)
已知问题:
1) 对X和Y坐标向量的估计仅仅是一种猜测,一种根据图像大小和缩放级别确定这些值的算法。该算法是通过反复试验确定的(因为API无法查询图像的空间边界),因此可能会对某些位置产生较差的结果。在新罕布什尔州朴茨茅斯港附近,生成的图像在地理上参考了大约+/-3m。
2) 由于MATLAB在Mac平台上的渲染性能较差,我的经验是,上面示例中绘制的贴图会产生白色间隙,其原因和分辨率未知。
引用为
瓦尔·施密特(2021年)。获取谷歌地图(//www.tianjin-qmedu.com/matlabcentral/fileexchange/24113-get_google_map),MATLAB中央文件交换。恢复.