У меня есть функция, ответственная за скрытие/отображение маркеров, поэтому я решил использовать removeMarkers() и addMarkers() с переменной, которая содержит все маркеры, отображаемые на карте, предотвращая запросы AJAX. Тем не менее, removeMarkers(), кажется, не работает, когда используется после addMarkers() функция:Gmaps4Rails v2 - removeMarkers() не работает после вызова addMarkers()
#/assets/javascript/general.js.coffee
@buildMap = (markers)->
provider = Gmaps.build(
'Google',
{
builders: { Marker: RichMarkerBuilder},
markers:
clusterer:
gridSize: 50
styles: [
url: "/assets/cluster.png"
textSize: 15
width: 56
height: 56
]
}
)
Gmaps.handler = @clustereredHandler()
Gmaps.handler.buildMap {
provider: provider,
internal: {id: 'map'} }, ->
Gmaps.markers = _.map(markers, (marker_json) ->
marker = Gmaps.handler.addMarker(marker_json)
_.extend marker, marker_json
marker
)
Gmaps.map = Gmaps.handler.getMap()
Gmaps.handler.bounds.extendWith(Gmaps.markers)
Gmaps.handler.fitMapToBounds()
#app/views/stores/index.html.erb
buildMap(<%=raw @hash.to_json %>);
Итак, у меня есть:
- Handler на
Gmaps.handler
переменной; - Все метки на
Gmaps.markers
переменная; - Карта на
Gmaps.map
переменная.
шаги до отказа:
- карты Load - OK (Все маркеры нагруженных правильно);
- >
Gmaps.handler.removeMarkers(Gmaps.markers)
- ОК (все маркеры скрыты правильно); - >
Gmaps.handler.addMarkers(Gmaps.markers)
- ОК (все маркеры показаны правильно); - >
Gmaps.handler.removeMarkers(Gmaps.markers)
- FAILURE! (Маркеры все еще отображаются);
Я пользуюсь 2.1.2
версии. Есть ли какое-нибудь исправление?
Благодаря
Я думаю, вы можете принять мой ответ правильно? – apneadiving