@DasIstGlitch

Как подгрузить маркеры из csv на интерактивной карте и зафиксировать от повтора?

Здравствуйте. Недавно начал работу над интерактивной картой этажа здания, за основу которой была взята карта от Perrygeo (leaflet-simple-csv).

Вопросов несколько, но дабы не плодить много тем, тут задам сразу два:
1. "Error retrieving csv file". CSV таблица не определяется сразу же после распаковки исходника. Пробовал пересоздавать таблицу, менять путь к ней, но тщетно.
Кусок кода из app.js, отвечающий за добавление маркеров:
map.addLayer(markers);

$(document).ready( function() {
    $.ajax ({
        type:'GET',
        dataType:'text',
        url: dataUrl,
        contentType: "text/csv; charset=utf-8",
        error: function() {
            alert('Error retrieving csv file');
        },
        success: function(csv) {
            dataCsv = csv;
            populateTypeAhead(csv, fieldSeparator);
            typeAheadSource = ArrayToSet(typeAheadSource);
            $('#filter-string').typeahead({source: typeAheadSource});
            addCsvMarkers();
        }
    });

    $("#clear").click(function(evt){
        evt.preventDefault();
        $("#filter-string").val("").focus();
        addCsvMarkers();
    });


2. Горизонтальный скролл зациклен, карту можно бесконечно вращать. Как избавиться от повтора? Нигде не нашёл, куда можно вставить no-repeate.

p.s. до этого момента JS не изучал.
  • Вопрос задан
  • 281 просмотр
Решения вопроса 1
@DasIstGlitch Автор вопроса
1. Проблема оказалась в браузере. Javascript делает XMLHTTP запрос, чтобы получить файл CSV. Некоторые браузеры не могут принимать такие запросы для file:// протокола (если открывать файл с локальной машины). Opera, Chrome, IE относятся к ним. С FireFox csv файл открылся.
2. Добавить "noWrap: true" атрибут к L.TileLayer. Для более точного указания обрезки экспериментировать с Bounds.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы