0

Ребята Я новичок на этой карте, и она работает очень хорошо индивидуально. Я понял много концепций и т. Д. Однако я застрял в точке, что я понятия не имею, как отмечать места, полученные через API на статических картах.Маркировка Google Static Maps через 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