2013-08-01 5 views
0

У меня есть приложение, в котором я вручную добавил Markers в google map. Затем я сохранил маркеры в локальном хранилище. Теперь я хочу повторно запустить приложение, загрузить набор маркеров и поместить их на (теперь пустую) карту. Я предположил, что будет какой-то метод:Добавить существующий на карте

googleMap.addMarker(marker_I_loaded_from_memory), но я не могу найти его. В качестве альтернативы я думал, что может быть что-то вроде marker_I_loaded_from_memory.AddMyselfToMap(), но я тоже не могу это найти. Существует ли вообще?

Edit: Я использую карты API V 2

+0

Я не знаю, понял ли я, но предложение было бы: googleMap.addMarker принимает MarkerOptions. Либо вы сохранили объект MarkerOptions, он снова загрузился, либо вместо этого сохраните координаты этого маркера, а затем просто возобновите работу с googleMap.addMarker (новый MarkerOptions (..)); – nunofmendes

+0

Что именно вы сохранили в LocalStorage? –

+0

@ Andre Dion: Я создал класс, который включал в себя различные данные, связанные с маркером, а также сам маркер. Затем я сохранил весь класс. – Mick

ответ

2

Вы не можете сериализовать Marker объекты. Они связаны с текущим видом.

Предлагаю хранить соответствующие данные в локальной БД. Будет работать таблица с широтой, долготой, названием и т. Д.

При воссоздании таких Marker s используйте GoogleMap.addMarker(MarkerOptions), где MarkerOptions построен из данных в БД.

+0

'map.addMarker (новая позиция MarkerOptions(). (Новый LatLng (lat, long)). Title (title) .snippet (snippet) .icon (значок)); «Это почти все, что вам нужно, я думаю. – orion78fr

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