繁体   English   中英

通过Google Places API标记Google静态地图

[英]Marking Google Static Maps via Google Places API

伙计们,我是这个地图上的新手,它在个别情况下效果很好。 我已经了解了许多概念,等等。但是,我坚持不知道如何在静态地图上标记通过API获取的位置。

这是一个静态映射的可爱的http请求:

https://maps.googleapis.com/maps/api/staticmap?center=40.75901,-73.98447&zoom=17&scale=2&size=640x640&maptype=roadmap&markers=color:green|label:C|40.75901,-73.98447

让我再详细一点。 我尝试使它们在Unity 5上工作,并将该响应另存为纹理以放入3d模型中。 结果如下:

引擎内部结果

到目前为止还不错,但我不能超越。 可以说我想去公交车站并将3d公交车站模型放到地图上。 我可以获取该区域上站点的坐标。 现在,如何将3D模型放到红色圆圈上?

  • 我知道地图的中心坐标
  • 我知道汽车站的坐标
  • 我不知道是场景中相应的3D坐标

你们能带我解决一个问题吗?

PS:我遇到过一个术语“墨卡托投影”,但无法将其注入到我的项目中:S

我建议您按照以下步骤操作:

  1. 知道地图的边界:地图的东北和西南坐标。
  2. 知道地图的大小:在这种情况下,您设置为640x640。
  3. 创建一个将现实世界中公交车站的坐标转换为地图坐标的函数。

例:

  • 您的界限是:NE(91.5,12.7)和SW(87.3,8.4)。
  • 您的地图图片为600x600像素。 这意味着如果图片中的(0,0)对应于左上角,或NW =(91.5,8.4)。
  • 图片的宽度为600,并且从西向东移动,即(12.7-8.4)= 4.3,这意味着每个像素在坐标中占4.3 / 600〜= 0.00716666666667单位。
  • 假设我们在坐标(88.37,10.125)中有一个点,我们想计算经度坐标在哪个像素上移动:((10.125-8.4)/(12.7-8.4))* 600 = 241像素。

对“谷歌纵横”执行相同操作即可。 容易吧?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM