0

夥計們我是這個地圖上的新東西,它的工作效果非常好。我已經理解了許多概念等。但是,我堅持認爲我不知道如何在靜態地圖上標記通過API獲取的地點。通過Google Places 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模型中。這是結果:

Engine Inside Result

到目前爲止好,但我無法超越。比方說,我想要巴士站,並把3d公交車站模型放到地圖上。我可以得到該地區電臺的座標。現在,我怎樣才能把一個3d模型放到紅圈上?

  • 我知道地圖的中心座標
  • 我知道公交站的座標
  • 我不知道是在場景中的相應的3D座標

你們可以讓我找到解決方案?

PS:我曾經遇到過一個術語「墨卡託投影」,但我想不出它注入到我的項目:S

回答

1

我建議你遵循以下步驟:

  1. 知道地圖的界限:您的地圖的NorthEast和SouthWest座標。
  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像素的哪個像素變爲經度

對緯度做同樣的事情,你就擁有它。很簡單,對吧?

+0

你的解決方案似乎取決於瞭解地圖塊的邊界......這基本上是OP需要首先解決的問題。 – Vanguard3000