2014-04-15 48 views
2

縮放級別我使用的插件Leaflet.Control.Search搜索標記圖層組,其工作正常英寸一旦找到標記,地圖就會自動移動到相應位置的中心,並打開標記彈出窗口。單張:設置搜索

現在,在搜索上,我想將地圖的縮放級別設置爲固定值。 我的地圖的初始縮放級別是12 - 但是一旦有人使用搜索,我想將其設置爲16.這怎麼能實現?我試圖執行setZoom,但我不知道正確的語法應該如何..

的代碼看起來像這樣的時刻:

var searchControl = new L.Control.Search({layer: markers2, propertyName: 'Name', circleLocation:true}); 
    searchControl.on('search_locationfound', function(e) { 
      e.layer.openPopup().openOn(map);  
      map.setZoom(16); 
    });  
map.addControl(searchControl); 

非常感謝任何提示!

PS:當我把map.setZoom(16); BEFORE e.layer.openPopup().openOn(map);然後變焦工作正常,但彈出窗口不會打開像它應該 - 它,只有當我打再次搜索打開......

回答

4

你有沒有試過在代替map.setZoom(16);this你的「在現場找到」聽衆?
或者,您可能需要嘗試map.setView()。它需要一個經緯度和縮放級別。您可以採取在標記的緯度/經度或彈出窗口的緯度/經度

+0

嗨克里斯,非常感謝答案。我以前在文本中有一個愚蠢的錯字,我一直都有'map.setZoom',而不是'this.setZoom'... 它工作正常,但有時彈出窗口打開,有時它們不打開。也許這是搜索插件中的一個小錯誤?我無法弄清楚它... – julia

0

嘗試編輯插件,評論變焦選項(第26行)

_config: { 
    country: '', 
    searchLabel: 'buscar en el mapa...', 
    notFoundMessage: 'destino no hallado', 
    messageHideDelay: 3000, 
    /*zoomLevel: 18*/ 
},