ArcGIS APi JS 3.28, panTo не является функцией - PullRequest
1 голос
/ 29 мая 2019

Я работаю с ArcGIS js-API 3.28 и Angular 7. У меня есть этот код, и он хорошо работает:

Конструктор карты:

constructMap(opts: { container: string, basemap: any, center: any, zoom: number, showAttribution: boolean }): Promise<any[]> {
    return new Promise((resolve, reject) => {
        loadModules([
            'esri/map',
            'esri/config',
            'dojo/domReady!'
        ]).then(([Map, esriConfig/*, Search ,HomeButton*/]) => {
            esriConfig.defaults.map.zoomDuration = 250;
            esriConfig.defaults.map.zoomRate = 50;
            esriConfig.defaults.map.panDuration = 250; // time in milliseconds, default panDuration: 350
            esriConfig.defaults.map.panRate = 50; // default panRate: 25
            this.map = new Map(opts.container, {
                basemap: opts.basemap,
                center: opts.center,
                zoom: opts.zoom,
                showAttribution: opts.showAttribution
            });
            resolve(this.map);
        });
    });
}

И в Компонентегде я устанавливаю новые центры для каждого выбора раскрывающегося списка, у меня есть этот код (его часть):

loadModules([
    'esri/geometry/Point'
]).then(([lang, Point]) => {
    const my_center = new Point([-99.94867549215655, 20.55088183550196]);
    this.mapa.map.centerAndZoom(my_center, 5);
});

Я могу centerAndZoom до моей точки желания (то же самое с centerAt).Кроме того, я могу изменить конфигурацию pan, например, такую:

esri.config.defaults.map.panDuration = 1000;
esri.config.defaults.map.panRate = 25;

И я могу видеть более медленное панорамирование в каждой точке, с которой я двигаюсь centerAt, но когда я хочу использовать только this.mapa.map.panTo(my_center); Я получил ошибку:

ERROR Error: Uncaught (in promise): TypeError: _this.mapa.map.panTo is not a function
TypeError: _this.mapa.map.panTo is not a function

Почему?Я не понимаю, почему другие методы работают нормально, но не panTo()

1 Ответ

1 голос
/ 04 июня 2019

Похоже, что вы используете версию 3.x ArcGIS API и в этой версии класс Map не имеет panTo метода .

...