Несколько Javascript (другая версия) конфликт

0

У меня есть проблема с использованием двух API, API OneMap и API ESRI (ArcGIS).

Моя проблема заключается в том, что я хочу использовать OneMap API, основанный на API ESRI (ArcGIS), но в OneMap API есть несколько недостающих функций, которые мне нужно для выполнения моей задачи, например, для функции featureLayer. Этот featureLayer который находится в API ESRI (Arcgis), является тем, что мне нужно, и я попытался включить оба API, чтобы вызвать featureLayer, но будут ошибки, и карта не будет отображаться. Я думаю, это может быть конфликт, поскольку я мог бы использовать API отдельно.

Причина, по которой я решил использовать OneMap, заключается в том, что она сосредоточена на Сингапуре и более подробной/обновленной информации на карте по сравнению с картой ESRI.

Итак, есть ли способ предотвратить этот конфликт при использовании 2 API, упомянутых выше? или все равно указать, когда использовать какой API при необходимости функцией?

EDIT: Вот сообщение об ошибке,

Uncaught TypeError: Cannot read property 'dojo' of undefined 
Uncaught TypeError: Object #<Object> has no method '_loadPath' 
  • 0
    Итак, вы пытались использовать jQuery в режиме noConflict? Это помогло? Вы вообще спрашиваете о jQuery или об этих других библиотеках? Что за ошибки, точно и точно? Сделать это легко помочь.
  • 0
    Извините, отредактировал мой вопрос. Я спрашиваю об API OneMap и ESRI (Arcgis). Ошибка, с которой я столкнулся сейчас, заключается в том, что, когда 2 API используются вместе, моя карта не запускается.
Показать ещё 2 комментария
Теги:
conflict
esri

1 ответ

1

На основе сообщений об ошибках одна из ваших библиотек, как представляется, требует библиотеки Dojo. Вы должны попробовать включить его, прежде чем включать другие две библиотеки.

Как только он будет включен перед другими библиотеками, вы увидите, что эти сообщения об ошибках исчезают.

Сам код, который будет создавать карту, должен быть включен в плагин Dojo domReady:

  <script>
    require(["esri/map", "dojo/domReady!"], function(Map) { 
      // code to create the map and add a basemap will go here 
    });
  </script>

Я не знаю ничего конкретного о какой-либо из этих библиотек, но похоже, что это должно по крайней мере пройти мимо этих ошибок (и, возможно, на некоторые новые, но мы можем справиться с ними, когда они происходят).

Основываясь на примере с сайта ArcGIS, похоже, что Dojo или его часть уже могут быть включены. Посмотрите на это, где они включают библиотеку, а затем загрузите карту на dom ready (вам также нужно будет включить стили карты и создать элемент HTML для хранения карты (в этом случае div с идентификатором "mapDiv":

 <script src="http://js.arcgis.com/3.7/"></script>
  <script>
    var map;
    require(["esri/map", "dojo/domReady!"], function(Map) {
      map = new Map("mapDiv", {
        center: [-56.049, 38.485],
        zoom: 3,
        basemap: "streets"
      });
    });
  </script>

Ещё вопросы

Сообщество Overcoder
Наверх
Меню