当前位置: 首页 > 知识库问答 >
问题:

指定带有由lat和lon坐标指定的边框/视口的Google Maps静态图像

西门高歌
2023-03-14

我正在尝试从Google Static Maps API请求一个图像,该图像的边框由一对纬度和经度坐标指定。我尝试过以两个坐标的中心为中心,但似乎没有任何参数可以在静态API中执行此操作。有人知道怎么做吗?

注意:这是一个桌面应用程序,我没有使用Javascript API。

共有1个答案

徐俊人
2023-03-14

问题是,您不能将请求建立在地图的角上,因为1。缩放级别为离散值和2。像素所代表的纬度量随纬度而变化。所以,要显示2度,你需要在赤道附近有一个给定的地图高度,在两极附近有一个不同的高度(更大)。你是否愿意显示不同高度的地图,以便始终适合2度?

如果是这样,您可以使用我的另一篇帖子中的MercatorProjection对象,并使用以下函数计算必要的地图大小:

<script src="MercatorProjection.js"></script>

function getMapSize(center,zoom){
    var proj = new MercatorProjection();
    var scale = Math.pow(2,zoom);
    var centerPx = proj.fromLatLngToPoint(center);
    var SW = new google.maps.LatLng(center.lat()-1,center.lng()-1);
    var southzWestPx = proj.fromLatLngToPoint(SW);
    var NE = new google.maps.LatLng(center.lat()+1,center.lng()+1);
    var northEastPx = proj.fromLatLngToPoint(NE);

// Then you can calculate the necessary width and height of the map:
    var mapWidth = Math.round((northEastPx.x - southzWestPx.x) * scale);
    var mapHeight = Math.round((southzWestPx.y - northEastPx.y) * scale); 
}

在center=new google.maps.latlng(49.141404,-121.960988)和zoom=7的情况下,您需要一个(W x H)182 x 278像素的地图来显示2 x 2度。

 类似资料:
  • 我正在尝试将lat/lon对转换为像素坐标。我找到了这个墨卡托投影,但我不懂代码。因子x_adj,y_adj变量是多少?当我运行没有这些常数的代码时,我的lat/lon对不在我的地图上,x和y像素坐标也不是我想要的。 来源:http://webdesignerwall.com/tutorials/interactive-world-javascript-map/comment-page-1?rep

  • 问题内容: 我正在尝试在MatPlotLib中创建一个堆叠的条形图,在顶部和底部带有两个不同的x标签。上面的一个应该有一个边框,边框的宽度与钢筋本身的宽度相同。 情节不太正确 这是我创建标签的方式: 是像 因此,我想我的问题可以归结为: 如何处理文本对象的边界 框 ? 非常感谢! 根据请求,一个可运行的示例: 问题答案: 关于为什么很难将文本框的宽度设置为定义的宽度的争论,请参见此问题,该问题与设

  • 我在学Android。现在我正在开发一个使用地图API的应用程序。到目前为止,我做了以下操作:-我长时间点击了地图,并打开了一个新的ActivityCyclickedMap,其中显示了我点击的位置的lat和lon-我点击了save按钮,并将lat和lon添加到服务器和我的本地数据库中 我想做的事情是这样的:-当我打开地图时,我想让它显示一个标记,使用数据库中的lat和lon

  • 本文向大家介绍易语言查找指定颜色并将鼠标移动到指定坐标的代码,包括了易语言查找指定颜色并将鼠标移动到指定坐标的代码的使用技巧和注意事项,需要的朋友参考一下 DLL命令表 查找指定颜色例程 运行结果: 总结 以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对呐喊教程的支持。如果你想了解更多相关内容请查看下面相关链接

  • 英文原文: http://emberjs.com/guides/routing/specifying-a-routes-model/ 指定路由的模型 应用中的模板背后是由模型来支撑的。那么模板是如何知道需要显示哪些模型的呢? 例如,如果有一个photos模板,那么它是如何知道应该渲染哪一个模型的呢? 这正是Ember.Route的工作之一。通过定义一个与模板同名的,并实现其model方法的路由,是

  • 我知道bbox_to_anchor关键字和这个线程,它非常有助于建议如何手动放置图例: 如何把传说从情节中剔除 然而,我想使用图形中x轴和y轴的坐标来指定图例位置(在图中),因为我可能需要将图形移动到具有不同轴环境的大图形中,并且我不想手动每次我这样做的时候都在玩这些坐标。这有可能吗? 编辑:一个小例子在这里: 我认为让我困惑的是,图例实际上并不是从0.82开始的,事实上,对于我更大的情节(有5个