1

Я пытаюсь добавить пользовательский оверлей к карте Google Maps в своей программе, но я не могу найти способ сделать это при использовании фрагментов.Как добавить наложения в MapFragment?

Все примеры и руководства, которые я смог найти, используют MapView, а наложения можно добавить просто как myMapView.getOverlays().add(myOverlay).

Я не могу найти аналогичный метод при работе с фрагментом вместо MapView. У меня есть дескриптор GoogleMap, который, как представляется, не содержит .getOverlays(), и у меня нет такого большого успеха с самим фрагментом.

Итак, могу ли я и/или где найти аналогичный метод для добавления наложения на MapFragment вместо MapView?

ответ

3

В google maps v2 его не называют наложением, его называют многоугольником. Вы добавляете его на карту, вызывая GoogleMap.addPolygon(PolygonOptions option) Где GoogleMap заменяется именем вашего объекта GoogleMap. Heres some info on PolyOptions for you Таким образом, вы просто добавляете точки, независимо от того, сколько очков там, а затем создает многоугольник на основе этих точек. Или для неподготовок и просто линий используйте опцию PolyLines

Heres Googlemap API для справки.

Надеется, что это помогает

EDIT:

Нарисовав круг немного сложнее, так как она включает в себя сглаживание и немного песни и танец.

Для вашего удобства я нашел this StackOverflow answer, который содержит некоторый код о том, как это сделать.

+0

Я знаю, что в версии 1 есть оверлеи, и вы можете добавить исправления и прочее подобное, но это просто проще. Google, вероятно, уверен, что точки LatLng правильно соединяются, чтобы сформировать здание или парк или что у вас есть – dannyRods

+0

Так что, если бы я, например, хотел круг, мне пришлось бы вручную построить его из вершин? – varesa

+1

Круги немного сложнее. Я отредактировал свой ответ, чтобы отразить это – dannyRods

Смежные вопросы