У меня есть карта с 4 слоями, каждый слой имеет маркеры для различных магазинов. Мне нужно это сделать.jquery json parsing
- Пользователь выбирает магазин из отборного
- имени сценарий грейферов магазина, а затем находит правильные данные для этого магазина из JSON.
У меня есть общее представление о том, как должен выглядеть скрипт, но не знаю, как правильно его записать.
$('#shopselect').change(function() {
$.ajax({
type: "GET",
url: "data.txt",
dataType: "json",
success: function(data) {
var selected = $('#shopselect option:selected').text()
if ($(".layer1:visible").length) {
$("#viewport").mapbox("center", {
x: shops." + selected + ".l1x,
y: shops." + selected + ".l1y
});
} else if ($(".layer2:visible").length) {
$("#viewport").mapbox("center", {
x: shops." + selected + ".l2x,
y: shops." + selected + ".l1y
});
} else if ($(".layer3:visible").length) {
$("#viewport").mapbox("center", {
x: shops." + selected + ".l3x,
y: shops." + selected + ".l1y
});
} else if ($(".layer4:visible").length) {
$("#viewport").mapbox("center", {
x: shops." + selected + ".l4x,
y: shops." + selected + ".l1y
});
}
}
});
Json выглядит так.
{
shops:{
primark:{
l1x:310,
l1y:132,
l2x:388,
l2y:264,
l3x:530,
l3y:355,
l4x:670,
l4y:450
},
boots:{
l1x:310,
l1y:132,
l2x:388,
l2y:264,
l3x:530,
l3y:355,
l4x:670,
l4y:450
}
}
}
ли кто-нибудь может мне точку в правильном направлении.
JSON в данных параметров функции, так что вам нужно использовать х: data.shops [выбрано] .l1x, Y: data.shops [выбрано] .l1y –
@David: ergh, я сфокусирован на синтаксисе и не проверял переменные :-(Я отредактировал свой ответ, спасибо за ваш комментарий! –
Спасибо, ребята. У меня все работает. – Trip