2013-06-18 1 views
1

Я использую leafletjs - http://leafletjs.com/Использование JQuery для выбора и локализации листовку имя слоя

мне нужно локализовать слой и наложения текста для пользователей выбранного языка.

Код листовка выглядит так:

// create map 
map = L.map('map', { 
    center: [dlat, dlng], 
    zoom: dzoom, 
    layers: [osmap, markersgroup, POIgroup, mylayergroup, fencesgroup] 
}); 
var baseLayers = { 
    "Normal": osmap, 
    "Satellite": satellite 
}; 

var overlays = { 
    "All Markers": markersgroup, 
    "Online Markers": onlinegroup, 
    "Offline Markers": offlinegroup, 
    "Live Markers": livegroup 
}; 

Как вы можете видеть имена наложения устанавливаются «Все маркеры», «Интернет» и т.д. Маркеры мне нужно, чтобы быть в состоянии выбрать их и изменить на французский , испанские строки.

HTML, визуализируется как это:

<div class="leaflet-control-layers-overlays"> 
<label> 
<input type="checkbox" class="leaflet-control-layers-selector" checked=""> 
<span> All Markers</span> 
</label> 
<label> 
<input type="checkbox" class="leaflet-control-layers-selector"> 
<span> Online Markers</span> 
</label> 
<label> 
<input type="checkbox" class="leaflet-control-layers-selector"> 
<span> Offline Markers</span> 
</label> 
<label> 
<input type="checkbox" class="leaflet-control-layers-selector"> 
<span> Live Markers</span> 
</label> 
</div> 

Может я выбрать span в каждом label и переименовать его вручную?

ответ

0

Просто сделал это

$(".leaflet-control-layers-overlays span").eq(0).text(strings[strLang].allMarkers); 
$(".leaflet-control-layers-overlays span").eq(1).text(strings[strLang].onlineMarkers); 
$(".leaflet-control-layers-overlays span").eq(2).text(strings[strLang].offlineMarkers); 
$(".leaflet-control-layers-overlays span").eq(3).text(strings[strLang].liveMarkers); 
+0

пришел сюда в надежде на лучшее решение. Было бы неплохо, если бы эти промежутки были помечены как минимум идентификатором внутренней листовки. – Jeff

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