SAP Fiori не может создать конструктор геокодера при первом вызове представления - PullRequest
0 голосов
/ 05 ноября 2018

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

Обратите внимание: я расширяю приложение SAP Fiori, которое вызывается SAP Fiori Lauchnpad, я не разрабатываю SAPUI5 с нуля.

Но у меня есть проблема. Пока я загружал приложение, невозможно создать конструктор Geocoder API в коде.

Сообщение об ошибке: «Uncaught TypeError: google.maps.Geocoder не является Конструктор "

Я просто хочу выполнить простой стандартный код в контроллере:

var geocoder = new google.maps.Geocoder();  
geocoder.geocode( { "address": address }, function(results, status) {
    if (status == google.maps.GeocoderStatus.OK && results.length > 0) {

        var location = results[0].geometry.location;
        var lat  = location.lat();
        var lng  = location.lng();     

        alert("Latitude: " + lat);
        alert("Longitude: " + lng);
    }
});  

Очевидно, что я загружаю стороннюю библиотеку (google maps - GEOCODING API) нет.

Но я не нашел хороших примеров того, как загрузить внешнюю библиотеку в приложение SAP FIORI. Подходы по следующей ссылке не работают: https://a.kabachnik.info/how-to-include-external-javascript-libraries-in-sap-ui5.html

Метод 2 будет хорошо, но он не работает. Моя текущая структура проекта:

Project Structure

Код для этого подхода не дает решения:

var theRootPath = jQuery.sap.getModulePath("cus.crm.myaccounts.zcrm_myacc_ext");
jQuery.sap.registerModulePath('lib.google.library', theRootPath + '/lib/google/library');

sap.ui.define([
    "sap/ui/core/mvc/Controller",
    "sap/ui/model/json/JSONModel",
    "lib/google/library"
], function(Controller, JSONModel, library) {
//call geocoding api
}

Я говорю о стандартном расширении Fiori APP, поэтому я не использую index.html. Я не создаю приложение SAPUI5 тоже ... только для расширений SAP FIORI.

Я надеюсь, что кто-то может помочь мне в интеграции сторонней библиотеки.

1 Ответ

0 голосов
/ 07 ноября 2018

По данным этого блога Как включить сторонние библиотеки / модули в SAPUI5 Вы можете включить вашу внешнюю библиотеку в файл контроллера (= Метод 2). Но, очевидно, по какой-то причине это не сработало для вас. Вы получаете сообщение об ошибке?

Таким образом, вместо этого вы можете взглянуть на Добавление пользовательской библиотеки в качестве зависимости в SAP Fiori . Там библиотека определена в manifest.json.

...