Использование Transcrypt с картами листовки - PullRequest
1 голос
/ 02 октября 2019

Я люблю Python и никогда не особо заботился о JavaScript. Так что я был очень взволнован, узнав о Transcrypt. Недавно я запустил веб-проект, который использует Django для серверной части и карту Leaflet (в частности Esri Leaflet), которая играет центральную роль в интерфейсе. Я пытаюсь выяснить, подходит ли Transcrypt для моего проекта. Однако документация и примеры на сайте Transcrypt либо слишком просты, либо слишком быстро углубляются в более сложные темы. В результате я с трудом решаю, добавит ли Transcrypt что-нибудь положительное в мой проект или просто принесет больше сложности и ошибок. Я бы предпочел не тратить несколько часов на то, чтобы заставить Transcrypt работать (время, которое можно потратить продуктивно на простое написание JavaScript), только чтобы узнать, что Transcrypt не подходит для моего сайта. Поэтому у меня есть несколько вопросов.

Я знаю, что Transcrypt предназначен для работы с любой библиотекой JavaScript. Будет ли это работать и с картографическими ГИС-библиотеками?

Например, если я могу успешно инкапсулировать весь Esri Leaflet (но, возможно, я не смогу?), Transcrypt позволит мне написать следующее на Python?

  var map = L.map('map').setView([40.91, -96.63], 4);

  L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
    attribution: '&copy; <a href="https://osm.org/copyright">OpenStreetMap</a> contributors'
  }).addTo(map);

  var arcgisOnline = L.esri.Geocoding.arcgisOnlineProvider();

  L.esri.Geocoding.geosearch({
    providers: [
      arcgisOnline,
      L.esri.Geocoding.mapServiceProvider({
        label: 'States and Counties',
        url: 'https://sampleserver6.arcgisonline.com/arcgis/rest/services/Census/MapServer',
        layers: [2, 3],
        searchFields: ['NAME', 'STATE_NAME']
      })
    ]
  }).addTo(map);

Кстати, этот код был взят из здесь .

Я не совсем понял объяснения об интеграции с библиотеками JavaScript, найденные здесь , в частности, где онговорит:

Другим способом является инкапсуляция библиотеки JavaScript в целом в модуль Transcrypt. В дистрибутиве это делается для модуля Fabric, который инкапсулирует fabric.js и импортируется в примере Pong. Таким образом, глобальное пространство имен остается чистым.

Поэтому я не могу точно сказать, сможет ли Transcrypt обрабатывать все объекты ГИС и карты.

Карта Leaflet будет основным пользователем. интерфейс для моего сайта. Поэтому зная, что Transcrypt может инкапсулировать, это очень важно. Также будет много слушателей событий, связанных с картой, и данные, идущие назад и вперед между передней и задней частью. Я, вероятно, собираюсь использовать Ajax JQuery для большей части этого. Я видел несколько простых примеров jQuery на веб-сайте Transcrypt, но я не уверен, что Transcrypt действительно готов к работе.

Я заметил, что единственным человеком, отвечающим на вопросы Transcrypt, является его создатель, Жак деHooge. Я думаю, мои вопросы действительно направлены на него. Любой совет, который вы можете мне дать, очень ценится, Жак!

...